From a18f760a9f0f68ae11ef853dd18e75acc800b31c Mon Sep 17 00:00:00 2001 From: Tim Young Date: Sat, 1 Aug 2015 09:13:20 -0600 Subject: [PATCH] Starting to sync --- .gitattributes | 63 + .gitignore | 189 ++ EduNetworkBuilder.sln | 22 + EduNetworkBuilder/App.config | 27 + EduNetworkBuilder/DeviceConfig.Designer.cs | 283 +++ EduNetworkBuilder/DeviceConfig.resx | 120 ++ EduNetworkBuilder/EduNetworkBuilder.csproj | 347 ++++ .../EduNetworkBuilder_TemporaryKey.pfx | Bin 0 -> 1668 bytes EduNetworkBuilder/IPAddressEntry.Designer.cs | 148 ++ EduNetworkBuilder/IPAddressEntry.resx | 120 ++ EduNetworkBuilder/LinkEditor.Designer.cs | 138 ++ EduNetworkBuilder/LinkEditor.cs | 234 +++ EduNetworkBuilder/LinkEditor.resx | 120 ++ EduNetworkBuilder/ListBoxWindow.Designer.cs | 149 ++ EduNetworkBuilder/ListBoxWindow.resx | 120 ++ EduNetworkBuilder/NetTestEditor.Designer.cs | 155 ++ EduNetworkBuilder/NetTestEditor.resx | 827 ++++++++ EduNetworkBuilder/NetworkBuilder.Designer.cs | 609 ++++++ EduNetworkBuilder/NetworkBuilder.resx | 123 ++ .../NetworkCardEditor.Designer.cs | 170 ++ EduNetworkBuilder/NetworkComponent.cs | 108 + EduNetworkBuilder/NetworkInterface.cs | 123 ++ EduNetworkBuilder/OptionsWindow.Designer.cs | 296 +++ EduNetworkBuilder/OptionsWindow.resx | 120 ++ EduNetworkBuilder/Program.cs | 22 + EduNetworkBuilder/Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 788 +++++++ EduNetworkBuilder/Properties/Resources.resx | 334 +++ .../Properties/Settings.Designer.cs | 85 + .../Properties/Settings.settings | 21 + EduNetworkBuilder/RTFWindow.Designer.cs | 79 + EduNetworkBuilder/RTFWindow.resx | 827 ++++++++ EduNetworkBuilder/Resources/BellDing.wav | Bin 0 -> 8172 bytes EduNetworkBuilder/Resources/Copier.png | Bin 0 -> 13516 bytes EduNetworkBuilder/Resources/DHCP.enbx | 609 ++++++ EduNetworkBuilder/Resources/Help.rtf | 178 ++ EduNetworkBuilder/Resources/Hub.png | Bin 0 -> 1040 bytes EduNetworkBuilder/Resources/Laptop.png | Bin 0 -> 1563 bytes EduNetworkBuilder/Resources/Level0-Help.enbx | 101 + .../Resources/Level0-HubVsSwitch.enbx | 1144 ++++++++++ EduNetworkBuilder/Resources/Level0-IP.enbx | 465 +++++ .../Resources/Level0-NeedsLink.enbx | 369 ++++ .../Resources/Level0-NoSwitch.enbx | 209 ++ EduNetworkBuilder/Resources/Level0-Ping.enbx | 562 +++++ .../Resources/Level0-SimpleDHCP.enbx | 397 ++++ .../Resources/Level0_BrokenLink.enbx | 565 +++++ .../Resources/Level0_NetworkLoop.enbx | 859 ++++++++ .../Resources/Level0_NetworkLoop2.enbx | 1636 +++++++++++++++ .../Resources/Level1-BadDHCP.enbx | 551 +++++ EduNetworkBuilder/Resources/Level1-BadIP.enbx | 534 +++++ .../Resources/Level1-DuplicateIPs.enbx | 637 ++++++ .../Resources/Level1-MidDHCP.enbx | 865 ++++++++ .../Resources/Level1-MixedNetwork.enbx | 404 ++++ .../Resources/Level1-NoGateway.enbx | 805 +++++++ .../Resources/Level1_BadGateway.enbx | 1171 +++++++++++ .../Resources/Level1_DuplicateMAC.enbx | 466 +++++ .../Resources/Level1_OneNetTwoSubnets.enbx | 771 +++++++ .../Resources/Level1_OneNetTwoSubnets2.enbx | 667 ++++++ .../Resources/Level2_Bad_Encryption.enbx | 1174 +++++++++++ .../Resources/Level2_Bad_Route.enbx | 1173 +++++++++++ .../Resources/Level2_Bad_VPN_IP.enbx | 1211 +++++++++++ .../Resources/Level2_Blast_From_Past.enbx | 1185 +++++++++++ .../Resources/Level2_Build_A_VPN.enbx | 1121 ++++++++++ .../Resources/Level2_Connect_The_Dots.enbx | 1153 ++++++++++ .../Resources/Level2_FirewallDemo.enbx | 1232 +++++++++++ .../Resources/Level2_Not_Working.enbx | 1162 +++++++++++ .../Resources/Level2_VPN_Demo.enbx | 1792 ++++++++++++++++ .../Resources/Level3_BlackHole.enbx | 1609 ++++++++++++++ .../Resources/Level3_Busted.enbx | 574 +++++ EduNetworkBuilder/Resources/Level3_Dead.enbx | 1330 ++++++++++++ .../Resources/Level3_EncryptionTroubles.enbx | 1837 ++++++++++++++++ .../Resources/Level3_GrandCentralStation.enbx | 1680 +++++++++++++++ .../Resources/Level3_Middle_Man_Out.enbx | 1627 +++++++++++++++ .../Resources/Level3_NowhereToGo.enbx | 1308 ++++++++++++ .../Resources/Level3_PhoneyNetwork.enbx | 1318 ++++++++++++ .../Resources/Level3_VPNify.enbx | 1644 +++++++++++++++ .../Resources/Level4_DualWans.enbx | 1587 ++++++++++++++ .../Resources/Level4_Internalhemorrhage.enbx | 1847 +++++++++++++++++ .../Resources/Level4_InternelSubnetting.enbx | 1661 +++++++++++++++ .../Resources/Level4_OneRoute.enbx | 1824 ++++++++++++++++ .../Resources/Level4_RouterReplacement.enbx | 1311 ++++++++++++ .../Resources/Level4_SinglesLife.enbx | 1746 ++++++++++++++++ .../Resources/Level4_SmallSubnets.enbx | 1302 ++++++++++++ EduNetworkBuilder/Resources/NBIco.ico | Bin 0 -> 42062 bytes EduNetworkBuilder/Resources/OneNet.enbx | 544 +++++ EduNetworkBuilder/Resources/PC.png | Bin 0 -> 1895 bytes EduNetworkBuilder/Resources/Printer.png | Bin 0 -> 6226 bytes EduNetworkBuilder/Resources/ReleaseNotes.rtf | Bin 0 -> 6791 bytes EduNetworkBuilder/Resources/Router.png | Bin 0 -> 5179 bytes EduNetworkBuilder/Resources/Server.png | Bin 0 -> 985 bytes EduNetworkBuilder/Resources/Switch.png | Bin 0 -> 756 bytes EduNetworkBuilder/Resources/ThreeNets.enbx | 1558 ++++++++++++++ EduNetworkBuilder/Resources/TwoNets.enbx | 1264 +++++++++++ EduNetworkBuilder/Resources/WAP.png | Bin 0 -> 15998 bytes EduNetworkBuilder/Resources/WBridge.png | Bin 0 -> 15688 bytes EduNetworkBuilder/Resources/WRepeater.png | Bin 0 -> 15629 bytes EduNetworkBuilder/Resources/WRouter.png | Bin 0 -> 22090 bytes EduNetworkBuilder/Resources/about.rtf | Bin 0 -> 953 bytes EduNetworkBuilder/Resources/firewall.png | Bin 0 -> 17166 bytes EduNetworkBuilder/Resources/firewalls.enbx | 1765 ++++++++++++++++ EduNetworkBuilder/Resources/ip_phone.png | Bin 0 -> 6980 bytes .../languages/edustrings.fr.Designer.cs | 0 .../Resources/languages/edustrings.fr.resx | 414 ++++ .../Resources/languages/edustrings.resx | 520 +++++ EduNetworkBuilder/Resources/link.png | Bin 0 -> 2195 bytes EduNetworkBuilder/Resources/select.png | Bin 0 -> 4393 bytes 106 files changed, 62241 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 EduNetworkBuilder.sln create mode 100644 EduNetworkBuilder/App.config create mode 100644 EduNetworkBuilder/DeviceConfig.Designer.cs create mode 100644 EduNetworkBuilder/DeviceConfig.resx create mode 100644 EduNetworkBuilder/EduNetworkBuilder.csproj create mode 100644 EduNetworkBuilder/EduNetworkBuilder_TemporaryKey.pfx create mode 100644 EduNetworkBuilder/IPAddressEntry.Designer.cs create mode 100644 EduNetworkBuilder/IPAddressEntry.resx create mode 100644 EduNetworkBuilder/LinkEditor.Designer.cs create mode 100644 EduNetworkBuilder/LinkEditor.cs create mode 100644 EduNetworkBuilder/LinkEditor.resx create mode 100644 EduNetworkBuilder/ListBoxWindow.Designer.cs create mode 100644 EduNetworkBuilder/ListBoxWindow.resx create mode 100644 EduNetworkBuilder/NetTestEditor.Designer.cs create mode 100644 EduNetworkBuilder/NetTestEditor.resx create mode 100644 EduNetworkBuilder/NetworkBuilder.Designer.cs create mode 100644 EduNetworkBuilder/NetworkBuilder.resx create mode 100644 EduNetworkBuilder/NetworkCardEditor.Designer.cs create mode 100644 EduNetworkBuilder/NetworkComponent.cs create mode 100644 EduNetworkBuilder/NetworkInterface.cs create mode 100644 EduNetworkBuilder/OptionsWindow.Designer.cs create mode 100644 EduNetworkBuilder/OptionsWindow.resx create mode 100644 EduNetworkBuilder/Program.cs create mode 100644 EduNetworkBuilder/Properties/AssemblyInfo.cs create mode 100644 EduNetworkBuilder/Properties/Resources.Designer.cs create mode 100644 EduNetworkBuilder/Properties/Resources.resx create mode 100644 EduNetworkBuilder/Properties/Settings.Designer.cs create mode 100644 EduNetworkBuilder/Properties/Settings.settings create mode 100644 EduNetworkBuilder/RTFWindow.Designer.cs create mode 100644 EduNetworkBuilder/RTFWindow.resx create mode 100644 EduNetworkBuilder/Resources/BellDing.wav create mode 100644 EduNetworkBuilder/Resources/Copier.png create mode 100644 EduNetworkBuilder/Resources/DHCP.enbx create mode 100644 EduNetworkBuilder/Resources/Help.rtf create mode 100644 EduNetworkBuilder/Resources/Hub.png create mode 100644 EduNetworkBuilder/Resources/Laptop.png create mode 100644 EduNetworkBuilder/Resources/Level0-Help.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-HubVsSwitch.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-IP.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-NeedsLink.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-NoSwitch.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-Ping.enbx create mode 100644 EduNetworkBuilder/Resources/Level0-SimpleDHCP.enbx create mode 100644 EduNetworkBuilder/Resources/Level0_BrokenLink.enbx create mode 100644 EduNetworkBuilder/Resources/Level0_NetworkLoop.enbx create mode 100644 EduNetworkBuilder/Resources/Level0_NetworkLoop2.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-BadDHCP.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-BadIP.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-DuplicateIPs.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-MidDHCP.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-MixedNetwork.enbx create mode 100644 EduNetworkBuilder/Resources/Level1-NoGateway.enbx create mode 100644 EduNetworkBuilder/Resources/Level1_BadGateway.enbx create mode 100644 EduNetworkBuilder/Resources/Level1_DuplicateMAC.enbx create mode 100644 EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets.enbx create mode 100644 EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets2.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Bad_Encryption.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Bad_Route.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Bad_VPN_IP.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Blast_From_Past.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Build_A_VPN.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Connect_The_Dots.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_FirewallDemo.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_Not_Working.enbx create mode 100644 EduNetworkBuilder/Resources/Level2_VPN_Demo.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_BlackHole.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_Busted.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_Dead.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_EncryptionTroubles.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_GrandCentralStation.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_Middle_Man_Out.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_NowhereToGo.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_PhoneyNetwork.enbx create mode 100644 EduNetworkBuilder/Resources/Level3_VPNify.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_DualWans.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_Internalhemorrhage.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_InternelSubnetting.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_OneRoute.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_RouterReplacement.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_SinglesLife.enbx create mode 100644 EduNetworkBuilder/Resources/Level4_SmallSubnets.enbx create mode 100644 EduNetworkBuilder/Resources/NBIco.ico create mode 100644 EduNetworkBuilder/Resources/OneNet.enbx create mode 100644 EduNetworkBuilder/Resources/PC.png create mode 100644 EduNetworkBuilder/Resources/Printer.png create mode 100644 EduNetworkBuilder/Resources/ReleaseNotes.rtf create mode 100644 EduNetworkBuilder/Resources/Router.png create mode 100644 EduNetworkBuilder/Resources/Server.png create mode 100644 EduNetworkBuilder/Resources/Switch.png create mode 100644 EduNetworkBuilder/Resources/ThreeNets.enbx create mode 100644 EduNetworkBuilder/Resources/TwoNets.enbx create mode 100644 EduNetworkBuilder/Resources/WAP.png create mode 100644 EduNetworkBuilder/Resources/WBridge.png create mode 100644 EduNetworkBuilder/Resources/WRepeater.png create mode 100644 EduNetworkBuilder/Resources/WRouter.png create mode 100644 EduNetworkBuilder/Resources/about.rtf create mode 100644 EduNetworkBuilder/Resources/firewall.png create mode 100644 EduNetworkBuilder/Resources/firewalls.enbx create mode 100644 EduNetworkBuilder/Resources/ip_phone.png create mode 100644 EduNetworkBuilder/Resources/languages/edustrings.fr.Designer.cs create mode 100644 EduNetworkBuilder/Resources/languages/edustrings.fr.resx create mode 100644 EduNetworkBuilder/Resources/languages/edustrings.resx create mode 100644 EduNetworkBuilder/Resources/link.png create mode 100644 EduNetworkBuilder/Resources/select.png 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/EduNetworkBuilder.sln b/EduNetworkBuilder.sln new file mode 100644 index 0000000..2618384 --- /dev/null +++ b/EduNetworkBuilder.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2013 for Windows Desktop +VisualStudioVersion = 12.0.31101.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EduNetworkBuilder", "EduNetworkBuilder\EduNetworkBuilder.csproj", "{5662A48F-E771-4C29-B120-54D65FBC4A14}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5662A48F-E771-4C29-B120-54D65FBC4A14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5662A48F-E771-4C29-B120-54D65FBC4A14}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5662A48F-E771-4C29-B120-54D65FBC4A14}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5662A48F-E771-4C29-B120-54D65FBC4A14}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/EduNetworkBuilder/App.config b/EduNetworkBuilder/App.config new file mode 100644 index 0000000..83e42c8 --- /dev/null +++ b/EduNetworkBuilder/App.config @@ -0,0 +1,27 @@ + + + + +
+ + + + + + + + + + + + True + + + en + + + False + + + + \ No newline at end of file diff --git a/EduNetworkBuilder/DeviceConfig.Designer.cs b/EduNetworkBuilder/DeviceConfig.Designer.cs new file mode 100644 index 0000000..831ffab --- /dev/null +++ b/EduNetworkBuilder/DeviceConfig.Designer.cs @@ -0,0 +1,283 @@ +namespace EduNetworkBuilder +{ + partial class DeviceConfig + { + /// + /// 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() + { + this.tbHostname = new System.Windows.Forms.TextBox(); + this.lblHostname = new System.Windows.Forms.Label(); + this.lbNics = new System.Windows.Forms.ListBox(); + this.lbAddresses = new System.Windows.Forms.ListBox(); + this.lblHelp = new System.Windows.Forms.Label(); + this.btnCancel = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.btnNicPlus = new System.Windows.Forms.Button(); + this.btnNicMinus = new System.Windows.Forms.Button(); + this.btnNicEdit = new System.Windows.Forms.Button(); + this.btnIfEdit = new System.Windows.Forms.Button(); + this.btnIfMinus = new System.Windows.Forms.Button(); + this.btnIfAdd = new System.Windows.Forms.Button(); + this.lbArpTable = new System.Windows.Forms.ListBox(); + this.btnGateway = new System.Windows.Forms.Button(); + this.btnRoutes = new System.Windows.Forms.Button(); + this.cbDHCP = new System.Windows.Forms.CheckBox(); + this.btnDHCP = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // tbHostname + // + this.tbHostname.Location = new System.Drawing.Point(90, 6); + this.tbHostname.Name = "tbHostname"; + this.tbHostname.Size = new System.Drawing.Size(124, 22); + this.tbHostname.TabIndex = 0; + this.tbHostname.Validating += new System.ComponentModel.CancelEventHandler(this.tbHostname_Validating); + // + // lblHostname + // + this.lblHostname.AutoSize = true; + this.lblHostname.Location = new System.Drawing.Point(12, 9); + this.lblHostname.Name = "lblHostname"; + this.lblHostname.Size = new System.Drawing.Size(72, 17); + this.lblHostname.TabIndex = 1; + this.lblHostname.Text = "Hostname"; + // + // lbNics + // + this.lbNics.FormattingEnabled = true; + this.lbNics.ItemHeight = 16; + this.lbNics.Location = new System.Drawing.Point(13, 103); + this.lbNics.Name = "lbNics"; + this.lbNics.Size = new System.Drawing.Size(150, 116); + this.lbNics.TabIndex = 2; + this.lbNics.SelectedIndexChanged += new System.EventHandler(this.lbNics_SelectedIndexChanged); + this.lbNics.DoubleClick += new System.EventHandler(this.lbNics_DoubleClick); + // + // lbAddresses + // + this.lbAddresses.FormattingEnabled = true; + this.lbAddresses.ItemHeight = 16; + this.lbAddresses.Location = new System.Drawing.Point(182, 103); + this.lbAddresses.Name = "lbAddresses"; + this.lbAddresses.Size = new System.Drawing.Size(277, 116); + this.lbAddresses.TabIndex = 3; + this.lbAddresses.DoubleClick += new System.EventHandler(this.lbAddresses_DoubleClick); + // + // lblHelp + // + this.lblHelp.Location = new System.Drawing.Point(15, 222); + this.lblHelp.Name = "lblHelp"; + this.lblHelp.Size = new System.Drawing.Size(444, 44); + this.lblHelp.TabIndex = 4; + this.lblHelp.Text = "HelpGoesHere"; + // + // btnCancel + // + this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnCancel.Location = new System.Drawing.Point(384, 301); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 5; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(384, 330); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 6; + this.btnOK.Text = "Ok"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // btnNicPlus + // + this.btnNicPlus.Location = new System.Drawing.Point(14, 80); + this.btnNicPlus.Name = "btnNicPlus"; + this.btnNicPlus.Size = new System.Drawing.Size(19, 23); + this.btnNicPlus.TabIndex = 7; + this.btnNicPlus.Text = "+"; + this.btnNicPlus.UseVisualStyleBackColor = true; + this.btnNicPlus.Click += new System.EventHandler(this.btnNicPlus_Click); + // + // btnNicMinus + // + this.btnNicMinus.Location = new System.Drawing.Point(39, 80); + this.btnNicMinus.Name = "btnNicMinus"; + this.btnNicMinus.Size = new System.Drawing.Size(18, 23); + this.btnNicMinus.TabIndex = 8; + this.btnNicMinus.Text = "-"; + this.btnNicMinus.UseVisualStyleBackColor = true; + this.btnNicMinus.Click += new System.EventHandler(this.btnNicMinus_Click); + // + // btnNicEdit + // + this.btnNicEdit.Location = new System.Drawing.Point(63, 80); + this.btnNicEdit.Name = "btnNicEdit"; + this.btnNicEdit.Size = new System.Drawing.Size(65, 23); + this.btnNicEdit.TabIndex = 9; + this.btnNicEdit.Text = "edit"; + this.btnNicEdit.UseVisualStyleBackColor = true; + this.btnNicEdit.Click += new System.EventHandler(this.btnNicEdit_Click); + // + // btnIfEdit + // + this.btnIfEdit.Location = new System.Drawing.Point(394, 80); + this.btnIfEdit.Name = "btnIfEdit"; + this.btnIfEdit.Size = new System.Drawing.Size(65, 23); + this.btnIfEdit.TabIndex = 12; + this.btnIfEdit.Text = "edit"; + this.btnIfEdit.UseVisualStyleBackColor = true; + this.btnIfEdit.Click += new System.EventHandler(this.btnIfEdit_Click); + // + // btnIfMinus + // + this.btnIfMinus.Location = new System.Drawing.Point(370, 80); + this.btnIfMinus.Name = "btnIfMinus"; + this.btnIfMinus.Size = new System.Drawing.Size(18, 23); + this.btnIfMinus.TabIndex = 11; + this.btnIfMinus.Text = "-"; + this.btnIfMinus.UseVisualStyleBackColor = true; + this.btnIfMinus.Click += new System.EventHandler(this.btnIfMinus_Click); + // + // btnIfAdd + // + this.btnIfAdd.Location = new System.Drawing.Point(345, 80); + this.btnIfAdd.Name = "btnIfAdd"; + this.btnIfAdd.Size = new System.Drawing.Size(19, 23); + this.btnIfAdd.TabIndex = 10; + this.btnIfAdd.Text = "+"; + this.btnIfAdd.UseVisualStyleBackColor = true; + this.btnIfAdd.Click += new System.EventHandler(this.btnIfAdd_Click); + // + // lbArpTable + // + this.lbArpTable.Font = new System.Drawing.Font("Courier New", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbArpTable.FormattingEnabled = true; + this.lbArpTable.ItemHeight = 17; + this.lbArpTable.Location = new System.Drawing.Point(15, 269); + this.lbArpTable.Name = "lbArpTable"; + this.lbArpTable.Size = new System.Drawing.Size(326, 89); + this.lbArpTable.TabIndex = 13; + // + // btnGateway + // + this.btnGateway.Location = new System.Drawing.Point(251, 6); + this.btnGateway.Name = "btnGateway"; + this.btnGateway.Size = new System.Drawing.Size(208, 23); + this.btnGateway.TabIndex = 16; + this.btnGateway.Text = "Gateway:"; + this.btnGateway.UseVisualStyleBackColor = true; + this.btnGateway.Click += new System.EventHandler(this.btnGateway_Click); + // + // btnRoutes + // + this.btnRoutes.Location = new System.Drawing.Point(251, 31); + this.btnRoutes.Name = "btnRoutes"; + this.btnRoutes.Size = new System.Drawing.Size(113, 23); + this.btnRoutes.TabIndex = 17; + this.btnRoutes.Text = "Routes"; + this.btnRoutes.UseVisualStyleBackColor = true; + this.btnRoutes.Click += new System.EventHandler(this.btnRoutes_Click); + // + // cbDHCP + // + this.cbDHCP.AutoSize = true; + this.cbDHCP.Location = new System.Drawing.Point(13, 35); + this.cbDHCP.Name = "cbDHCP"; + this.cbDHCP.Size = new System.Drawing.Size(114, 21); + this.cbDHCP.TabIndex = 18; + this.cbDHCP.Text = "DHCP Server"; + this.cbDHCP.UseVisualStyleBackColor = true; + this.cbDHCP.CheckedChanged += new System.EventHandler(this.cbDHCP_CheckedChanged); + // + // btnDHCP + // + this.btnDHCP.Location = new System.Drawing.Point(365, 31); + this.btnDHCP.Name = "btnDHCP"; + this.btnDHCP.Size = new System.Drawing.Size(94, 23); + this.btnDHCP.TabIndex = 20; + this.btnDHCP.Text = "DHCP"; + this.btnDHCP.UseVisualStyleBackColor = true; + this.btnDHCP.Click += new System.EventHandler(this.btnDHCP_Click); + // + // DeviceConfig + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnCancel; + this.ClientSize = new System.Drawing.Size(471, 365); + this.Controls.Add(this.btnDHCP); + this.Controls.Add(this.cbDHCP); + this.Controls.Add(this.btnRoutes); + this.Controls.Add(this.btnGateway); + this.Controls.Add(this.lbArpTable); + this.Controls.Add(this.btnIfEdit); + this.Controls.Add(this.btnIfMinus); + this.Controls.Add(this.btnIfAdd); + this.Controls.Add(this.btnNicEdit); + this.Controls.Add(this.btnNicMinus); + this.Controls.Add(this.btnNicPlus); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.lblHelp); + this.Controls.Add(this.lbAddresses); + this.Controls.Add(this.lbNics); + this.Controls.Add(this.lblHostname); + this.Controls.Add(this.tbHostname); + this.Icon = global::EduNetworkBuilder.Properties.Resources.NBIco; + this.Name = "DeviceConfig"; + this.Text = "DeviceConfig"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox tbHostname; + private System.Windows.Forms.Label lblHostname; + private System.Windows.Forms.ListBox lbNics; + private System.Windows.Forms.ListBox lbAddresses; + private System.Windows.Forms.Label lblHelp; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnNicPlus; + private System.Windows.Forms.Button btnNicMinus; + private System.Windows.Forms.Button btnNicEdit; + private System.Windows.Forms.Button btnIfEdit; + private System.Windows.Forms.Button btnIfMinus; + private System.Windows.Forms.Button btnIfAdd; + private System.Windows.Forms.ListBox lbArpTable; + private System.Windows.Forms.Button btnGateway; + private System.Windows.Forms.Button btnRoutes; + private System.Windows.Forms.CheckBox cbDHCP; + private System.Windows.Forms.Button btnDHCP; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/DeviceConfig.resx b/EduNetworkBuilder/DeviceConfig.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/EduNetworkBuilder/DeviceConfig.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/EduNetworkBuilder.csproj b/EduNetworkBuilder/EduNetworkBuilder.csproj new file mode 100644 index 0000000..9bbf113 --- /dev/null +++ b/EduNetworkBuilder/EduNetworkBuilder.csproj @@ -0,0 +1,347 @@ + + + + + Debug + AnyCPU + {5662A48F-E771-4C29-B120-54D65FBC4A14} + WinExe + Properties + EduNetworkBuilder + EduNetworkBuilder + v4.5 + 512 + true + publish\ + true + Web + true + Foreground + 7 + Days + false + false + true + http://tyounglightsys.ddns.info/EduNetworkBuilder/v1/ + true + publish.htm + 17 + 1.0.0.%2a + false + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + Resources\NBIco.ico + + + A4F0B3ABDDD27B9830477C7B93C90C41A5706505 + + + EduNetworkBuilder_TemporaryKey.pfx + + + true + + + true + + + + + + + + + + + + + + + + Form + + + DeviceConfig.cs + + + + Form + + + IPAddressEntry.cs + + + Form + + + LinkEditor.cs + + + Form + + + ListBoxWindow.cs + + + + + Form + + + NetTestEditor.cs + + + Form + + + NetworkCardEditor.cs + + + + + Form + + + NetworkBuilder.cs + + + + + + + Form + + + OptionsWindow.cs + + + + + + + True + True + edustrings.fr.resx + + + Form + + + RTFWindow.cs + + + DeviceConfig.cs + + + IPAddressEntry.cs + + + LinkEditor.cs + + + ListBoxWindow.cs + + + NetTestEditor.cs + + + NetworkBuilder.cs + + + NetworkCardEditor.cs + + + OptionsWindow.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + ResXFileCodeGenerator + edustrings.fr.Designer.cs + + + RTFWindow.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + False + EduNetworkBuilder network file + EduNetBuilder + Resources\NBIco.ico + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EduNetworkBuilder/EduNetworkBuilder_TemporaryKey.pfx b/EduNetworkBuilder/EduNetworkBuilder_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..0e0a82ccaae8dcc70ec1ebfe0ab729f6fe340c75 GIT binary patch literal 1668 zcmY+DdpML?9LLYRGxN@vF*FUfrN@{un@jP|m|T+7(2&)bR%Jq> zgJ!agT0&E+o3$$IHVBny)jSHRw2@m@*1qktyFLB!JLmiT{Lb$@=a2J6L~s&>!6G7f zEv#X7-1Ybj1w+8dMDQw{2sTAA6A@u+zGz{~a3X9eiqD}Xg~|U;X_7FIOa#>+B1nlW zg-QQm^l~j6QEAPH{eEt369f@DaU$r{^N!r*m5nxhL1Q3RV62SI3-(_JT~$6 z8L^Hn&p+FFhA1u-xQ}$rZr|+7)(oewQI~p9HrnFtC4xt zOGp*HC|z%+r&oBzd&A8~L&G}#)^xA2akGo^Dqm`8T34;I5$7FEBia3OxXH_N-|UZ$s+K#{ zVOskE1w@%~8_POgtoxLg(&xP?Q$<{otxxdIidqpgGFH)2k~^?b{U?CS<{4}-xuAY@$FAJEh`Y&RY%*%Q>(y2Bx7e`YAg_sXbAzzT!j3adz3CO14c zcbR0{z4jrpnc(>2JSn%ca_MuE?H?<=Mtu?*jC&eQD6`|FbiW2y|G$28@$D=6>7g-} z6z#~F;R{nE>&E`%BxxP^xXcVBYMwNWizevua6eaH7tC7ZY*6BC-^A2b91*L}U!5}2 zxyqjtno1Jm4^I$_J3j8ppSn*9Pcx1G>R0yYqWZDmGjj@Z<$TQVH-*8jrL^I4X9`ms zpnZD6yJ@%E+lBnM-lXdKL33x{`nI>1aywMF@W*;+wv9@C_WQe%U4HHAqsZ;9T0#TV z?LU97g_Yce(Ek7C8oDePhr<8>5TDObhs8H^2XSCEZ~`3Q40yl_Ef!dX5)QBiY*cZ8 z9oPW4sN$m386c=~LOa&L7A+gp+o2N(>TJLj^L# zP9ci6LKuKTR~v@!9nYApS`M5|X(kgFl!@W85#2(9P>IpV~wgD+Sl~|FE!TxqUyo zR@cikHT8EyPuzGkz44d>jj?(tZxCsI6BT+X#MJj2;47h_tB5|N8R6Du1YNakXFg0P|?#k|i_pj09O&kVbpW;FhmjTz6Vj zy?Wam{x1KS26WA%BoyL3*H+ysqH&_F=57?ML)xbQELPWUjoe_L{fx}6?~k(Q{?zQ_ z6SvHGp1hKg-YwJicNjf%w{73~^Isn;#gy)lHl+7ORLPv2-DJ#x_ZQatrSd_!v72v_ z?ujRtO$JS*8RKDC;(^FO7f&%gr+@JJimUG)S5{f7O|mA8i4R+~oZNA}MXyJ0tDCK2 z)w|`BxJKBBMj+5VbD+V3%_19YJqR|2A<%=GUR;epG&J8E4RZljjh$RfAcdJVnKDRtn zhB^J@p%HK1{116bio0Tc_JdVr$#F-zZdj{r+q)K>U$&K?kPlIk4dXfwN!&ndkdt6W#UtaI0o N?y1foV?TYczX4GLvgZH* literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/IPAddressEntry.Designer.cs b/EduNetworkBuilder/IPAddressEntry.Designer.cs new file mode 100644 index 0000000..2f354e9 --- /dev/null +++ b/EduNetworkBuilder/IPAddressEntry.Designer.cs @@ -0,0 +1,148 @@ +namespace EduNetworkBuilder +{ + partial class IPAddressEntry + { + /// + /// 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() + { + this.Icon = Properties.Resources.NBIco; + this.lblIP = new System.Windows.Forms.Label(); + this.lblNetmask = new System.Windows.Forms.Label(); + this.lblGateway = new System.Windows.Forms.Label(); + this.tbIPAddress = new System.Windows.Forms.TextBox(); + this.tbNetmask = new System.Windows.Forms.TextBox(); + this.tbGateway = new System.Windows.Forms.TextBox(); + this.btnCancel = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // lblIP + // + this.lblIP.Location = new System.Drawing.Point(19, 13); + this.lblIP.Name = "lblIP"; + this.lblIP.Size = new System.Drawing.Size(60, 17); + this.lblIP.TabIndex = 0; + this.lblIP.Text = "IP"; + this.lblIP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // lblNetmask + // + this.lblNetmask.Location = new System.Drawing.Point(16, 45); + this.lblNetmask.Name = "lblNetmask"; + this.lblNetmask.Size = new System.Drawing.Size(63, 17); + this.lblNetmask.TabIndex = 1; + this.lblNetmask.Text = "Netmask"; + this.lblNetmask.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // lblGateway + // + this.lblGateway.Location = new System.Drawing.Point(16, 74); + this.lblGateway.Name = "lblGateway"; + this.lblGateway.Size = new System.Drawing.Size(63, 17); + this.lblGateway.TabIndex = 2; + this.lblGateway.Text = "Gateway"; + this.lblGateway.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // tbIPAddress + // + this.tbIPAddress.Location = new System.Drawing.Point(86, 13); + this.tbIPAddress.Name = "tbIPAddress"; + this.tbIPAddress.Size = new System.Drawing.Size(128, 22); + this.tbIPAddress.TabIndex = 3; + this.tbIPAddress.Validating += new System.ComponentModel.CancelEventHandler(this.tbIPAddress_Validating); + // + // tbNetmask + // + this.tbNetmask.Location = new System.Drawing.Point(86, 42); + this.tbNetmask.Name = "tbNetmask"; + this.tbNetmask.Size = new System.Drawing.Size(128, 22); + this.tbNetmask.TabIndex = 4; + this.tbNetmask.Validating += new System.ComponentModel.CancelEventHandler(this.tbNetmask_Validating); + // + // tbGateway + // + this.tbGateway.Location = new System.Drawing.Point(86, 71); + this.tbGateway.Name = "tbGateway"; + this.tbGateway.Size = new System.Drawing.Size(128, 22); + this.tbGateway.TabIndex = 5; + this.tbGateway.Validating += new System.ComponentModel.CancelEventHandler(this.tbGateway_Validating); + // + // btnCancel + // + this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnCancel.Location = new System.Drawing.Point(19, 120); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 6; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(139, 120); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 7; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // IPAddressEntry + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnCancel; + this.ClientSize = new System.Drawing.Size(226, 163); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.tbGateway); + this.Controls.Add(this.tbNetmask); + this.Controls.Add(this.tbIPAddress); + this.Controls.Add(this.lblGateway); + this.Controls.Add(this.lblNetmask); + this.Controls.Add(this.lblIP); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "IPAddressEntry"; + this.Text = "IP-Address Entry"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lblIP; + private System.Windows.Forms.Label lblNetmask; + private System.Windows.Forms.Label lblGateway; + private System.Windows.Forms.TextBox tbIPAddress; + private System.Windows.Forms.TextBox tbNetmask; + private System.Windows.Forms.TextBox tbGateway; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Button btnOK; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/IPAddressEntry.resx b/EduNetworkBuilder/IPAddressEntry.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/EduNetworkBuilder/IPAddressEntry.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/LinkEditor.Designer.cs b/EduNetworkBuilder/LinkEditor.Designer.cs new file mode 100644 index 0000000..a1e2b78 --- /dev/null +++ b/EduNetworkBuilder/LinkEditor.Designer.cs @@ -0,0 +1,138 @@ +namespace EduNetworkBuilder +{ + partial class LinkEditor + { + /// + /// 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() + { + this.lbSrcHost = new System.Windows.Forms.ListBox(); + this.lbSrcNic = new System.Windows.Forms.ListBox(); + this.lbDstNic = new System.Windows.Forms.ListBox(); + this.lbDstHost = new System.Windows.Forms.ListBox(); + this.btnLink = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.cbLinkType = new System.Windows.Forms.ComboBox(); + this.SuspendLayout(); + // + // lbSrcHost + // + this.lbSrcHost.FormattingEnabled = true; + this.lbSrcHost.ItemHeight = 16; + this.lbSrcHost.Location = new System.Drawing.Point(9, 18); + this.lbSrcHost.Name = "lbSrcHost"; + this.lbSrcHost.Size = new System.Drawing.Size(103, 84); + this.lbSrcHost.TabIndex = 0; + this.lbSrcHost.SelectedIndexChanged += new System.EventHandler(this.lbSrcHost_SelectedIndexChanged); + // + // lbSrcNic + // + this.lbSrcNic.FormattingEnabled = true; + this.lbSrcNic.ItemHeight = 16; + this.lbSrcNic.Location = new System.Drawing.Point(118, 18); + this.lbSrcNic.Name = "lbSrcNic"; + this.lbSrcNic.Size = new System.Drawing.Size(89, 84); + this.lbSrcNic.TabIndex = 1; + this.lbSrcNic.SelectedIndexChanged += new System.EventHandler(this.lbSrcNic_SelectedIndexChanged); + // + // lbDstNic + // + this.lbDstNic.FormattingEnabled = true; + this.lbDstNic.ItemHeight = 16; + this.lbDstNic.Location = new System.Drawing.Point(399, 18); + this.lbDstNic.Name = "lbDstNic"; + this.lbDstNic.Size = new System.Drawing.Size(89, 84); + this.lbDstNic.TabIndex = 3; + this.lbDstNic.SelectedIndexChanged += new System.EventHandler(this.lbDstNic_SelectedIndexChanged); + // + // lbDstHost + // + this.lbDstHost.FormattingEnabled = true; + this.lbDstHost.ItemHeight = 16; + this.lbDstHost.Location = new System.Drawing.Point(290, 18); + this.lbDstHost.Name = "lbDstHost"; + this.lbDstHost.Size = new System.Drawing.Size(103, 84); + this.lbDstHost.TabIndex = 2; + this.lbDstHost.SelectedIndexChanged += new System.EventHandler(this.lbDstHost_SelectedIndexChanged); + // + // btnLink + // + this.btnLink.Location = new System.Drawing.Point(210, 18); + this.btnLink.Name = "btnLink"; + this.btnLink.Size = new System.Drawing.Size(75, 23); + this.btnLink.TabIndex = 4; + this.btnLink.Text = "Link"; + this.btnLink.UseVisualStyleBackColor = true; + this.btnLink.Click += new System.EventHandler(this.btnLink_Click); + // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(210, 47); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 5; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // cbLinkType + // + this.cbLinkType.FormattingEnabled = true; + this.cbLinkType.Location = new System.Drawing.Point(210, 76); + this.cbLinkType.Name = "cbLinkType"; + this.cbLinkType.Size = new System.Drawing.Size(75, 24); + this.cbLinkType.TabIndex = 6; + // + // LinkEditor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(495, 117); + this.Controls.Add(this.cbLinkType); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.btnLink); + this.Controls.Add(this.lbDstNic); + this.Controls.Add(this.lbDstHost); + this.Controls.Add(this.lbSrcNic); + this.Controls.Add(this.lbSrcHost); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = global::EduNetworkBuilder.Properties.Resources.NBIco; + this.Name = "LinkEditor"; + this.Text = "LinkEditor"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ListBox lbSrcHost; + private System.Windows.Forms.ListBox lbSrcNic; + private System.Windows.Forms.ListBox lbDstNic; + private System.Windows.Forms.ListBox lbDstHost; + private System.Windows.Forms.Button btnLink; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.ComboBox cbLinkType; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/LinkEditor.cs b/EduNetworkBuilder/LinkEditor.cs new file mode 100644 index 0000000..990824b --- /dev/null +++ b/EduNetworkBuilder/LinkEditor.cs @@ -0,0 +1,234 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Globalization; +using System.Resources; + + +namespace EduNetworkBuilder +{ + public partial class LinkEditor : Form + { + NetworkDevice Source=null; + NetworkDevice Dest=null; + bool processing = false; + List UsedLinks = new List(); + + public LinkEditor(NetworkDevice Src, NetworkDevice Dst) + { + Network Net = NB.GetNetwork(); + InitializeComponent(); + LanguagifyComponents(); + Source = Src; + if (Source != Dst) + { + Dest = Dst; + } + UsedLinks.AddRange(Net.UnavailableNics()); + + UpdateDeviceList(); + //The first time, we change the selections to the source and dest, if we had drug a line + int tindex; + if(Source != null) + { + tindex = lbSrcHost.Items.IndexOf(Source.hostname); + if (tindex >= 0) + { + lbSrcHost.SelectedIndex = tindex; + UpdateDeviceList(); + } + } + if (Dest != null) + { + tindex = lbDstHost.Items.IndexOf(Dest.hostname); + if (tindex >= 0) + { + lbDstHost.SelectedIndex = tindex; + UpdateDeviceList(); + } + } + } + + private void LanguagifyComponents() + { + ResourceManager RM = NB.GetResource(); + CultureInfo CI = NB.GetCulture(); + Text = RM.GetString("LE_btnLink", CI); + Text = RM.GetString("LE_btnCancel", CI); + Text = RM.GetString("LE_Form", CI); + } + + + private void UpdateDeviceList() + { + processing = true; + Network myNet = NB.GetNetwork(); + string SrcHost=""; + if (lbSrcHost.SelectedItem != null) + SrcHost = lbSrcHost.SelectedItem.ToString(); + string DstHost=""; + if (lbDstHost.SelectedItem != null) + DstHost = lbDstHost.SelectedItem.ToString(); + string SrcNic = ""; + if (lbSrcNic.SelectedItem != null) + SrcNic = lbSrcNic.SelectedItem.ToString(); + string DstNic = ""; + if (lbDstNic.SelectedItem != null) + DstNic = lbDstNic.SelectedItem.ToString(); + string theLinkType = LinkType.normal.ToString(); + if (cbLinkType.SelectedItem != null) + theLinkType = cbLinkType.SelectedItem.ToString(); + int ChosenSrcHost = lbSrcHost.SelectedIndex; + int ChosenDstHost = lbDstHost.SelectedIndex; + int tint; + lbSrcHost.Items.Clear(); + myNet.SortNetComponents(); //just so we have them in order + List srcHostnames = myNet.GetHostnames(); + List dstHostnames = myNet.GetHostnames(); + foreach(string tString in srcHostnames) + { + lbSrcHost.Items.Add(tString); + } + if (ChosenSrcHost >= 0) + { + ChosenSrcHost = lbSrcHost.Items.IndexOf(SrcHost); + lbSrcHost.SelectedIndex = ChosenSrcHost; + } + + lbSrcNic.Items.Clear(); + //List the Nics of the selected host + if (lbSrcHost.SelectedIndex >= 0) + { + List srcNics = myNet.NetworkCardForHostList(lbSrcHost.SelectedItem.ToString(),true,true); + foreach (string tString in srcNics) + { + lbSrcNic.Items.Add(tString); + } + } + + lbDstHost.Items.Clear(); + foreach (string tString in dstHostnames) + { + lbDstHost.Items.Add(tString); + } + if (ChosenDstHost >= 0) + { + ChosenDstHost = lbDstHost.Items.IndexOf(DstHost); + if(ChosenDstHost >= 0) + lbDstHost.SelectedIndex = ChosenDstHost; + } + + //We cannot link to ourselves. Remove the source from the dest list + if (lbSrcHost.SelectedIndex >= 0) + { + int delindex = lbDstHost.Items.IndexOf(lbSrcHost.SelectedItem.ToString()); + if (delindex >= 0) + lbDstHost.Items.RemoveAt(delindex); + } + + + //remove the dst nic lst + lbDstNic.Items.Clear(); + if (lbDstHost.SelectedIndex >= 0) + { + List dstNics = myNet.NetworkCardForHostList(lbDstHost.SelectedItem.ToString(),true,true); + foreach (string tString in dstNics) + { + lbDstNic.Items.Add(tString); + } + } + + if (SrcNic != "") + { + tint = lbSrcNic.Items.IndexOf(SrcNic); + if (tint != -1) + lbSrcNic.SelectedIndex = tint; + } + if (DstNic != "") + { + tint = lbDstNic.Items.IndexOf(DstNic); + if (tint != -1) + lbDstNic.SelectedIndex = tint; + } + + if(lbDstNic.SelectedIndex > -1 && lbSrcNic.SelectedIndex > -1) + { + btnLink.Enabled = true; + } + else + { + btnLink.Enabled = false; + } + if (Regex.IsMatch(SrcNic, "^wport") || Regex.IsMatch(SrcNic, "^wlan")) + { + //It is a wireless nic. + cbLinkType.Items.Clear(); + cbLinkType.Items.Add(LinkType.wireless.ToString()); + cbLinkType.Enabled = false; + } + else + { + cbLinkType.Items.Clear(); + cbLinkType.Items.Add(LinkType.normal.ToString()); + cbLinkType.Items.Add(LinkType.broken.ToString()); + cbLinkType.Enabled = true; + } + if (cbLinkType.Items.Contains(theLinkType)) + cbLinkType.SelectedItem = theLinkType; + else + cbLinkType.SelectedIndex = 0; + processing = false; + } + + private void btnLink_Click(object sender, EventArgs e) + { + Network Net = NB.GetNetwork(); + NetworkDevice Src = Net.ItemFromName(lbSrcHost.SelectedItem.ToString()); + int sNicIndex = lbSrcNic.SelectedIndex; + NetworkCard sNic = Src.NicFromName(lbSrcNic.SelectedItem.ToString()); + NetworkDevice Dst = Net.ItemFromName(lbDstHost.SelectedItem.ToString()); + int dNicIndex = lbDstNic.SelectedIndex; + NetworkCard dNic = Dst.NicFromName(lbDstNic.SelectedItem.ToString()); + LinkType LT = NB.ParseEnum(cbLinkType.SelectedItem.ToString()); + NetworkLink newLink = new NetworkLink(sNic.myID, dNic.myID, LT); + Net.AddItem(newLink); + Close(); + } + + private void lbSrcHost_SelectedIndexChanged(object sender, EventArgs e) + { + if(!processing) + UpdateDeviceList(); + } + + private void lbDstHost_SelectedIndexChanged(object sender, EventArgs e) + { + if (!processing) + UpdateDeviceList(); + } + + private void lbSrcNic_SelectedIndexChanged(object sender, EventArgs e) + { + if (!processing) + UpdateDeviceList(); + } + + private void lbDstNic_SelectedIndexChanged(object sender, EventArgs e) + { + if (!processing) + UpdateDeviceList(); + } + + private void btnCancel_Click(object sender, EventArgs e) + { + Close(); + } + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/LinkEditor.resx b/EduNetworkBuilder/LinkEditor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/EduNetworkBuilder/LinkEditor.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/ListBoxWindow.Designer.cs b/EduNetworkBuilder/ListBoxWindow.Designer.cs new file mode 100644 index 0000000..b816f86 --- /dev/null +++ b/EduNetworkBuilder/ListBoxWindow.Designer.cs @@ -0,0 +1,149 @@ +namespace EduNetworkBuilder +{ + partial class ListBoxWindow + { + /// + /// 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() + { + this.lbWindowData = new System.Windows.Forms.ListBox(); + this.btnOK = new System.Windows.Forms.Button(); + this.panelCheckboxes = new System.Windows.Forms.Panel(); + this.lblInstructions = new System.Windows.Forms.Label(); + this.btnAdd = new System.Windows.Forms.Button(); + this.cbLoadPuzzlesAtStart = new System.Windows.Forms.CheckBox(); + this.btnReset = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // lbWindowData + // + this.lbWindowData.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lbWindowData.FormattingEnabled = true; + this.lbWindowData.ItemHeight = 16; + this.lbWindowData.Location = new System.Drawing.Point(12, 12); + this.lbWindowData.Name = "lbWindowData"; + this.lbWindowData.ScrollAlwaysVisible = true; + this.lbWindowData.Size = new System.Drawing.Size(575, 180); + this.lbWindowData.TabIndex = 0; + this.lbWindowData.DoubleClick += new System.EventHandler(this.lbWindowData_DoubleClick); + this.lbWindowData.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lbWindowData_MouseUp); + // + // btnOK + // + this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOK.Location = new System.Drawing.Point(512, 334); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 1; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // panelCheckboxes + // + this.panelCheckboxes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelCheckboxes.Location = new System.Drawing.Point(15, 236); + this.panelCheckboxes.Name = "panelCheckboxes"; + this.panelCheckboxes.Size = new System.Drawing.Size(491, 121); + this.panelCheckboxes.TabIndex = 2; + // + // lblInstructions + // + this.lblInstructions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblInstructions.Location = new System.Drawing.Point(12, 195); + this.lblInstructions.Name = "lblInstructions"; + this.lblInstructions.Size = new System.Drawing.Size(576, 38); + this.lblInstructions.TabIndex = 3; + this.lblInstructions.Text = "label1"; + // + // btnAdd + // + this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnAdd.Location = new System.Drawing.Point(512, 305); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(75, 23); + this.btnAdd.TabIndex = 4; + this.btnAdd.Text = "New"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // cbLoadPuzzlesAtStart + // + this.cbLoadPuzzlesAtStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.cbLoadPuzzlesAtStart.AutoSize = true; + this.cbLoadPuzzlesAtStart.Location = new System.Drawing.Point(17, 358); + this.cbLoadPuzzlesAtStart.Name = "cbLoadPuzzlesAtStart"; + this.cbLoadPuzzlesAtStart.Size = new System.Drawing.Size(138, 21); + this.cbLoadPuzzlesAtStart.TabIndex = 5; + this.cbLoadPuzzlesAtStart.Text = "Show this at start"; + this.cbLoadPuzzlesAtStart.UseVisualStyleBackColor = true; + // + // btnReset + // + this.btnReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnReset.Location = new System.Drawing.Point(512, 276); + this.btnReset.Name = "btnReset"; + this.btnReset.Size = new System.Drawing.Size(75, 23); + this.btnReset.TabIndex = 6; + this.btnReset.Text = "Reset"; + this.btnReset.UseVisualStyleBackColor = true; + this.btnReset.Click += new System.EventHandler(this.btnReset_Click); + // + // ListBoxWindow + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(601, 381); + this.Controls.Add(this.cbLoadPuzzlesAtStart); + this.Controls.Add(this.btnReset); + this.Controls.Add(this.btnAdd); + this.Controls.Add(this.lblInstructions); + this.Controls.Add(this.panelCheckboxes); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.lbWindowData); + this.Icon = global::EduNetworkBuilder.Properties.Resources.NBIco; + this.Name = "ListBoxWindow"; + this.Text = "ListBoxWindow"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListBox lbWindowData; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Panel panelCheckboxes; + private System.Windows.Forms.Label lblInstructions; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.CheckBox cbLoadPuzzlesAtStart; + private System.Windows.Forms.Button btnReset; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/ListBoxWindow.resx b/EduNetworkBuilder/ListBoxWindow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/EduNetworkBuilder/ListBoxWindow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/NetTestEditor.Designer.cs b/EduNetworkBuilder/NetTestEditor.Designer.cs new file mode 100644 index 0000000..e7e7dcb --- /dev/null +++ b/EduNetworkBuilder/NetTestEditor.Designer.cs @@ -0,0 +1,155 @@ +namespace EduNetworkBuilder +{ + partial class NetTestEditor + { + /// + /// 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(NetTestEditor)); + this.cbSource = new System.Windows.Forms.ComboBox(); + this.cbTest = new System.Windows.Forms.ComboBox(); + this.cbDest = new System.Windows.Forms.ComboBox(); + this.lblSource = new System.Windows.Forms.Label(); + this.lblTest = new System.Windows.Forms.Label(); + this.lblDest = new System.Windows.Forms.Label(); + this.btnOK = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // cbSource + // + this.cbSource.FormattingEnabled = true; + this.cbSource.Location = new System.Drawing.Point(12, 32); + this.cbSource.Name = "cbSource"; + this.cbSource.Size = new System.Drawing.Size(121, 24); + this.cbSource.TabIndex = 0; + this.cbSource.SelectedValueChanged += new System.EventHandler(this.cbSource_SelectedValueChanged); + // + // cbTest + // + this.cbTest.FormattingEnabled = true; + this.cbTest.Location = new System.Drawing.Point(139, 32); + this.cbTest.Name = "cbTest"; + this.cbTest.Size = new System.Drawing.Size(175, 24); + this.cbTest.TabIndex = 1; + this.cbTest.SelectedValueChanged += new System.EventHandler(this.cbTest_SelectedValueChanged); + // + // cbDest + // + this.cbDest.FormattingEnabled = true; + this.cbDest.Location = new System.Drawing.Point(320, 32); + this.cbDest.Name = "cbDest"; + this.cbDest.Size = new System.Drawing.Size(121, 24); + this.cbDest.TabIndex = 2; + this.cbDest.SelectedValueChanged += new System.EventHandler(this.cbDest_SelectedValueChanged); + // + // lblSource + // + this.lblSource.AutoSize = true; + this.lblSource.Location = new System.Drawing.Point(16, 13); + this.lblSource.Name = "lblSource"; + this.lblSource.Size = new System.Drawing.Size(86, 17); + this.lblSource.TabIndex = 3; + this.lblSource.Text = "Source Host"; + // + // lblTest + // + this.lblTest.AutoSize = true; + this.lblTest.Location = new System.Drawing.Point(141, 14); + this.lblTest.Name = "lblTest"; + this.lblTest.Size = new System.Drawing.Size(36, 17); + this.lblTest.TabIndex = 4; + this.lblTest.Text = "Test"; + // + // lblDest + // + this.lblDest.AutoSize = true; + this.lblDest.Location = new System.Drawing.Point(317, 12); + this.lblDest.Name = "lblDest"; + this.lblDest.Size = new System.Drawing.Size(70, 17); + this.lblDest.TabIndex = 5; + this.lblDest.Text = "Dest Host"; + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(366, 62); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 6; + this.btnOK.Text = "Done"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // btnCancel + // + this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnCancel.Location = new System.Drawing.Point(285, 62); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 7; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // NetTestEditor + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnCancel; + this.ClientSize = new System.Drawing.Size(450, 96); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.lblDest); + this.Controls.Add(this.lblTest); + this.Controls.Add(this.lblSource); + this.Controls.Add(this.cbDest); + this.Controls.Add(this.cbTest); + this.Controls.Add(this.cbSource); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "NetTestEditor"; + this.Text = "Edit a Test"; + this.Load += new System.EventHandler(this.NetTestEditor_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ComboBox cbSource; + private System.Windows.Forms.ComboBox cbTest; + private System.Windows.Forms.ComboBox cbDest; + private System.Windows.Forms.Label lblSource; + private System.Windows.Forms.Label lblTest; + private System.Windows.Forms.Label lblDest; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/NetTestEditor.resx b/EduNetworkBuilder/NetTestEditor.resx new file mode 100644 index 0000000..19d58c5 --- /dev/null +++ b/EduNetworkBuilder/NetTestEditor.resx @@ -0,0 +1,827 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAZWQAAAEAIAA4pAAAFgAAACgAAABlAAAAyAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjDizSI0As0iNsLNIjlCzSI7Us0iPSLNIj6CzSI/os0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/Is0iPeLNIjxCzSI6Us0iOBLNIjVizSIygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIyos0iNzLNIjtyzS + I/Us0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPWLNIjlyzSI04s0iMDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjRyzSI6Ys0iP6LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iPPLNIjdyzSIxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMsLNIjnizS + I/4s0iP/LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI9Is0iNmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iNWLNIj1yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/izSI/8s0iP/LNIjlyzSIxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAs0iNqLNIj8yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/O6s1/1W3 + UP871TP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI7Is0iMdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4f///////////////////////////// + ///////////////////////////////////////////////////x8fH/srKy//////////////////// + ///////////////////////////////////////////////////////////////////Q9c7/WdtS/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izS + I/8s0iOmLNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAs0iMjnuqa6v////+ZjIn/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/7qxr/9dVlT/wLi2/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+zh3v/////////////////0PXO/1nbUv8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjfQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjjCzS + I/+V6JH+/////z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Tzk0/0s+Ov9lVVL/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/6dXQv8/JyH/n5OQ/////////////////9D1zv9Y21H/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj6izSIywAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjIizSI+ws0iP/LNIj/5XokP//////Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9MNjD/a11a/1hK + Rv9bR0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/p1dC/z8n + If8/JyH/Pych/5+TkP////////////////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj/yzSI4kAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI3Es0iP/LNIj/izSI/8s0iP/leiQ//////8/JyH/Pych/182K/+oV0L/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+7hXf/YjQo/8yekv+xa1j/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/plZB/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/z8n + If/c2Nb///////7+/v//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y7S + Jf9o3mH/SrdE/zvVM/8s0iP/LNIj/yzSI90s0iMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iOsLNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/i0o5/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/TDYw/2NVUv8jFhL/NSck/5CCf/9WQTv/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf+1XUb/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9pVlH/1dDP//// + ///+/v7//////1LaSv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/S9hD/2bEYf9bulb/QNY4/yzS + I/8s0iP/LNIj/izSI/ss0iM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMKLNIj4yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9ROzX/TUA8/1RGQ/9aTEn/OSso/4x+e/9WQTv/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/7tg + SP8/JyH/p1dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/aVZR/9bRz////////////9D1 + zv9Z21L/LNIj/yzSI/8s0iP/LNIj/yzSI/954nT/K4km/23fZ/8u0iX/LNIj/yzSI/8s0iP/LNIj/izS + I/8s0iNrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjEyzSI/Es0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4pK + Of9TMCf/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/7RwXv99T0P/xpiM/3tN + Qv/Imo7/b0E1/8CShv+0cF7/qFhE/6dXQv+nV0L/p1dC/6dXQv+uWkT/tV1G/z8nIf+nV0L/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/5+TkP/////////////////Z99j/q+yo/5zp + l/8s0iP/Z95h/0imQ/9y023/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIxcs0iP3LNIj/izS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/iko5/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/gHBs/0w+O/+IeXX/Kx0a/4x+ev+Mfnv/MiUh/2VY + VP96aWX/SjQu/z8nIf8/JyH/Pych/z8nIf+7YEj/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+fk5D///////7+/v/7/P3//v7+/9v32f962nT/O5k1/2fe + Yf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOUAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMWLNIj+SzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/0w2MP9uYF3/ZFZT/11JRP9URkP/b2Fe/1hDPv96aWX/V0lG/zIkIf+Acm7/dWNf/0s0 + Lv8/JyH/Pych/7tgSP8/JyH/p1dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf/+/v7//////yqZuv+AwtX//////9/p3v+V6JH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjECzSI/Ys0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//// + //8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/W0dC/0U3 + NP97a2f/Pych/2FSTv9SRUH/Tzk0/0EpI/9bR0L/iHt3/zYpJf9CNTH/g3Vy/3VjX/9KNC7/u2BI/z8n + If+nV0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/3NjW//7+ + /v9GpsP/GpG1/xWPs/9fssv///////7+/v+n7KP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIwUs0iPtLNIj/izS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/iko5/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv+FdnL/PzEt/3VjX/8/JyH/f29r/y4g + Hf91Y1//Pych/z8nIf9KNC7/dWNf/3lrZ/82KCX/OCsn/3JkYP/Slob/W0dC/69mU/9MNjD/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9AKCL/UTw2/9/b2v/+/v7/aLbO/xiQtP8akbX/GpG1/xiQ + tP8/osD//v7+//7+/v+t7ar/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iNvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIj1CzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/UDo0/2tdWf9oW1f/SjQu/z8nIf91Y1//OCsn/4N0cP9AKCL/Pych/z8n + If8/JyH/SjQu/3VjX/+CdHH/UUNA/2o3Kf86LSn/lWdb/29hXv90ZGD/f29r/39va/9/b2v/f29r/39v + a/9/b2v/dGRg/2NTT//h3t7//v7+/4nG2f8VjrP/GpG1/xqRtf8akbX/GpG1/xqRtf8tmbr/8fj6//7+ + /v9R2Un/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iM/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI5Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/leiQ//////8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If91Y1//MiUh/4BwbP8/JyH/Pych/1A6NP9kVlP/Y1ZS/1E7Nv8/JyH/Pych/z8nIf8/JyH/Pych/0w2 + MP9bR0L/0paH/3FhXf+oeW3/W01K/05APf8/MS7/OCon/zcqJv85LCj/PzEt/0s+Ov9YSkb/sKmo//7+ + /v+q1eP/EYyy/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8gk7b/2+3z//////8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI/0s0iMRAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iNULNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8n + If8/JyH/iko5/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SjQu/3ttaf9YS0f/W0dC/z8n + If8/JyH/QCgi/29gXP8/MS7/W0dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+7YEj/Pych/61i + T/9QOzX/UTs1/1E7Nf9ROzX/UTs1/1E7Nf9ROzX/UTs1/25dWP/+/v7/zObu/w+Lsf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xGMsv+n1OP//////yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAALNIjDSzSI/0s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91Y1//Nikl/4R1cf9AKCL/Pych/z8nIf8/JyH/gXFt/yMW + Ev+AcGz/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/7tgSP8/JyH/p1dC/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9gTUj//v7+/+bz9/8Vj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8UjrP/jcja//7+/v/Y9tb/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI44AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAs0iPKLNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/SjQu/3hqZ/9QQj//W0dC/z8nIf8/JyH/Pych/z8nIf9bR0L/TkA9/3BiX/9KNC7/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/u2BI/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/YE1I//7+ + /v/z+fv/IZS3/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F5C0/2y5z///////6/rq/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + IzEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAALNIjYyzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/+V6JD//////z8nIf8/JyH/iko5/1MwJ/+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv/Ci3z/ajww/8eU + h/+nWEP/p1dC/6dXQv+nV0L/p1dC/61iT/+oem7/dkk9/8KLfP+nV0L/p1dC/6dXQv+nV0L/p1dC/65a + RP+1XUb/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf/+/v7//////y+bu/8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf9KqMT//v7+//7+/v+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj7gAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAACzSIwUs0iP6LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8n + If+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/dWNf/1pMSf9lV1T/W0dC/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/2ZWUv8jFhL/TT88/3ppZf8/JyH/Pych/z8nIf8/JyH/Pych/7tgSP8/JyH/p1dC/z8n + If8/JyH/Pych/z8nIf8/JyH/29jW//7+/v9DpcP/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/MZy8///////+/v7//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AAAAAAAAAAAALNIjkizSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4tKOf8/JyH/Pych/z8n + If8/JyH/Pych/1VAO/94amf/Nyom/3ppZf9BKSP/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/XUxI/zYo + Jf9rXVr/SDs3/3ppZf9KNC7/Pych/z8nIf8/JyH/tV1G/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/9zY + 1v/+/v7/ZrXN/xiQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/ySWuP/2+vz//v7+/0xA + Pv//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAAAAACzS + IxIs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/XzYr/6hXQv+nV0L/p1dC/6dXQv+xa1j/wJKG/2M1 + Kf/MnpL/rGFN/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+VVUX/oXRo/6J1af+qfXH/cEM3/8qc + kP+zb17/qFhE/6dXQv+mVkH/Pych/6dXQv8/JyH/Pych/z8nIf/c2Nb//v7+/4bF2P8VjrP/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8YkLT/6fT3//7+/v+Nfnv/Nyom//T09P+c6Zf/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iOhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wYAAAAALNIjqCzSI/4s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf8/JyH/Pych/z8nIf9BKSP/W0dC/4FzcP8tHxz/j4F+/1ZBO/8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0EuKf94aGT/PzEu/3JhXf+CdHH/KRsX/2xfW/96aWX/UDo0/0Ao + Iv8/JyH/p1dC/z8nIf8/JyH/29fW//7+/v+n1eP/EY2y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akLT/EIyy/9Lp8P/+/v7/YE1I/1A6NP9rXVr/w8PD/57pmf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iMWAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////DCzSIw4s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If8/JyH/Pych/3ppZf9wYl//Oy4q/5GDf/9WQTv/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/PSom/3BeWv8pGxf/f29r/1M9OP+FdnL/W05K/yodGf9rXVn/hXZy/1tHQv+vZlP/UTs1/29e + Wf/+/v//yeXt/w6Lsf8akLT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xCMsv+w2eX//v7+/56S + j/8/JyH/QCgi/4V2cv+Tk5P/su6v/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI6MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8sLNIjiSzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Qisl/1tGQf+FdnL/SDo3/1xP + S/96aWX/SjQu/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0s1L/9NPTn/Tzk0/1BD + P/98bmv/SzUv/0AoIv9bR0L/hXVy/2FTUP8rHRr/OCon/45hVf92amj//v7+/+Ty9v8VjrP/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8UjrP/kMnb//7+/v/c2Nb/Pych/z8nIf8/JyH/W0dC/7m5 + uf+j06D/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIwgAAAAAAAAAAAAAAAAAAAAAAAAAAP///10s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/83xS//ZdNf/2feYf851DD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////QCgi/1E7Nv9gTEf/b2Fe/z8xLf+CdHH/dWNf/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/gnJu/0g7N/9fS0b/emxp/1RGQ/9POTT/Pych/z8n + If9AKCL/UDo1/3VjX/95aWX/vZGF//7+/v/y+Pv/IJS3/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/F5C0/2+50f/+/v7/3NjW/z8nIf8/JyH/Pych/z8nIf9MNjD/+/v7/12MWv9t32f/LtIl/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjgQAAAAAAAAAAAAAAAAAAAAAAAAAAt++0oyzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/W + Nv9JqET/M5Eu/2/Paf9n3mH/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//// + //+FdnL/a15a/0I1Mf9eTkv/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9uXlv/YVNQ/003Mv+AcGz/LB4b/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/2dU + UP/+/v7//////y2au/8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf9NqcX//v7+/9zY + 1v8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////hrWD/2G/W/9L2EP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPzAAAAAAAA + AAAAAAAAAAAAAAAAAACU6I/fLNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/MNIn/0vYQ/944XL/TaxI/zOR + Lv9nx2L/Z95h/znUMP8s0iP/LNIj/yzSI/871TP/S9hD/3Thbv+o3aX/wMDA/0c5Nv9qXFn/gXFt/0o0 + Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzQu/0o7 + N/9gTEf/Qiok/1tHQv9AMi//fGxp/0AoIv8/JyH/Pych/z8nIf8/JyH/1M/O//////9Bo8H/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/Mpy9///////+/v7/QCgi/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych//////+177L/JIMf/37eef9F1z3/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iM/AAAAAAAAAAAAAAAAAAAAAIfl + gf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y3SJP9L2EP/eeJ0/0+tSv8ykC3/YcFc/3Lh + bP9p12P/TcFH/0qvRP9Doj7/Ppw5/4u6iP/5+fn/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9+bmr/TT88/1E8Nv8/JyH/UTw2/2ha + V/9oWlf/UDo0/z8nIf8/JyH/Pych/9zY1v/+/v7/Y7TM/xiQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/yWWuP/3+/z//v7+/3pubP9QOjT/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH//////5vp + lv+C4X3/K4km/4Hge/9F1z3/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI6YAAAAAAAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/S9hD/3nidP9Usk//GXcT/xl3FP9bulb/eth0/3bh + cP9K2EL/n+qa//////8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/00/PP99bWn/TTcx/z8nIf9AKCL/hXZy/0EzMP91Y1//Pych/z8n + If/c2Nb//v7+/4PD1/8VjrP/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8ZkLT/6vX4//7+ + /v+Nfnv/STw4/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/0XXPf9/33r/Lowp/27Y + af8+1TX/LtIl/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/gAAAAAAAAAAAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/23fZ/8xjyz/ashl/yyKJv9Usk//duFw/0vYQ/+V6JD//////z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/4Fx + bf9DNDH/VkQ//z8nIf8/JyH/Pych/z8nIf9bR0L/MiQh/4R0cf9AKCL/29fW//7+/v+l0+H/EY2y/xqQ + tP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/EY2y/9Xq8f/+/v7/YE1I/085NP9KPDn/f29r/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/0XXPf9z4W7/Npcx/1m4VP9t32f/OdQw/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjNwAA + AAAAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/P9Y2/0+uSv9xz2v/duFw/2rKZf8siyf/SKdD/7jttf//////SzQu/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzQu/3VjX/+Fd3T/NSck/3hpZv8/JyH/Pych/z8n + If8/JyH/Pych/1E7Nf9TRUL/VEZD/3xsaP//////xuTt/w6Lsf8akLT/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG0/xCMsf+z2ub//v7+/56Sj/8/JyH/TTcx/3ttaf9ZSkb/SjQu/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/9n3mH/bMpn/y6MKf9z1G7/Z95h/znUMP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOFAAAAAAAAAAAAAAAAh+WB/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/dd9v/z2c + OP9I2ED/ONQv/2feYf921nH/caBu/7Ozs/+Fd3P/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9CKiT/UDo1/3VjX/+CdXH/Rjk1/0Q2M/+Rg3//VUA7/z8nIf8/JyH/Pych/z8nIf8/JyH/UTs1/0s9 + Ov9qX1z//v7+/+Px9f8UjrP/GpG0/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8TjrP/k8vc//7+ + /v/c2Nb/Pych/z8nIf8/JyH/Tjcy/0g7N/+BcW3/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/y7SJf9L2EP/eeJ0/0qpRf84ljP/dtZx/2feYf851DD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI8wAAAAAAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9n3mH/I4Ee/3Thbv8s0iP/LNIj/znU + MP+y7q//9/f3/0Y5Nf86LCn/fG5r/3VjX/9QOjX/Pych/z8nIf9wXlr/gHBs/2BPS/9WSUX/Nykm/1lM + SP+Bcm7/W0dC/0w2MP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9POTT/X1RR//7+/v/x+Pr/H5S3/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F4+0/3G60f/+/v7/3NjW/z8nIf8/JyH/Pych/z8n + If9NNzH/fW1p/0w+Ov9OODP/QSkj/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8t0iT/S9hD/3nidP9Nq0j/LYso/2LCXf9z4W7/S9hD/zrVMv8s0iP/LNIj/yzSI/8s0iP/MNIn/0DW + OP871TP/LNIj/wAAAAAAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/z7VNf9HpkL/XcdY/y3SJP8s0iP/LNIj/5XokP//////W0dC/39w + bP9LPTr/LB4a/z4wLf9VR0T/UEM//1BDP/9aTEn/UUA8/3hoZP91Y1//UDo1/0AoIv8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/5KEgP/+/v7//v7+/y2au/8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf9Pqsb//v7+/+Hd3P8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/bl9b/15R + Tf91Y1//Pych/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/0vY + Q/9z4W7/X79Z/zOSLv8/nTr/cNBr/3Phbv9L2EP/OtUx/yzSI/9Z0FP/T65K/2/caf8s0iP/LNIjKAAA + AAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/OtUy/2rLZf9Prkr/P9Y2/yzSI/8s0iP/leiQ//////8/JyH/Pych/3ppZf9eUE3/RTc0/zkr + KP90ZmP/iHl1/2JPSv9ELCf/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9KNC7/4d7d//////8/osD/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/NJ2+//// + ///+/v7/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91ZGD/dmll/0Q2Mv+AcGz/W0ZB/0Ep + I///////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/891TT/fON2/4fl + gf9hv1z/OJcz/ziWM/9LqUb/MK8p/0C+Of9z4W7/Y91c/yzSI/8s0iNbAAAAAAAAAACH5YH/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/c+Fu/yiH + I/9n3mH/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/4V2cv8tIBz/kYSA/2ZZVf87Lir/a15a/4V2 + cv9bR0L/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/+fj4//+/v7/YLLL/xiQ + tP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/yaXuf/4+/z//v7+/39zcP90ZmL/SjQu/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0EpI/9POTP/e2xo/z4wLf9wYl//emll//////+V6JD/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LdIk/0DWOP9A1jj/LNIj/1vSVf9Prkr/PZs4/0WkQP8gfhv/cNFr/2Dd + Wv8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI4gAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9L2EP/IH4b/3Phbf8s0iP/LNIj/5Xo + kP//////Pych/z8nIf8/JyH/W0dC/1FDQP9tX1z/Z1RP/4BwbP9pW1j/PzIu/2NVUv+FdnL/W0dC/0Ao + Iv8/JyH/Pych/z8nIf8/JyH/QCgi/1tHQv/o5uX//v7+/4HC1v8VjrP/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8ZkLX/6/X4//7+/v9gTUj/gHBs/0U4NP96aWX/QSkj/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9LNS//emll/2pcWf9CNTH/z8/P/7zwuf821C7/LNIj/yzSI/861TL/PtU1/2fe + Yf9s1mb/UrBN/0GfPP9OrEj/N6sx/3rYdf9hwFz/QaM8/3Phbv9F1z3/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjrgAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WN/8wjiv/addj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If9MNjD/in15/y8hHv91Y1//Pych/0o0Lv91Y1//bV9c/z8yLv9gUk//hXZy/1tHQv9RPDb/Tjcy/4Jy + bv9uX1v/4N3d//7+/v+i0uH/Eo2y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/EYyy/9fs + 8v/+/v7/YE1I/z8nIf9bR0L/aFpX/2lbWP9RPDb/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9BKSP/Tzkz/3JgXP/j4+P/f658/1KxTf9RtUv/W8lV/1O0Tv9DoT7/RaM//1CvS/9o0mL/deFv/zjU + L/9r32X/RaRA/1q4Vf9n3mH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPOAAAAAAAA + AACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/P9Y3/zyaN/9cylb/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/z8nIf91Y1//Nikl/25e + Wv8/JyH/Pych/z8nIf9KNC7/dWNf/3BiX/89Lyz/U0VC/15QTf9QQz//OCsn/2lfW///////xOLs/w6L + sf8akLT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpC0/w+Msv+22+f//v7+/7Gopf8/JyH/Pych/0Ep + I/91ZGD/QDIu/19OSf9QOjX/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0w2MP9bR0L/fm5q//Hx + 8f+VxZP/SadE/yiHI/9Lqkb/bc1o/3Phbv9L2EP/QNY4/y3SJP8s0iP/bd9n/0qoRf9evFn/bd9n/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI+cAAAAAAAAAAIflgf8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8/1jf/QJ87/1fF + Uf8s0iP/LNIj/5XokP//////Pych/z8nIf8/JyH/Pych/085NP9YSkf/XlBN/0w2MP8/JyH/Pych/z8n + If8/JyH/SjQu/3ppZf9rXlr/KRsY/1JDP/+jmJX//v7+/+Hx9f8UjrP/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8TjrP/lczc//7+/v/g3d3/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/QTIv/2ZY + Vf+Gd3P/SjQu/z8nIf9MNjD/W0dC/4Fxbf90ZGD/ZlhU/1BCP/8/MS7/w8PD/3mpdv9Bnzz/eeJ0/0vY + Q/861TL/LNIj/yzSI/8s0iP/LNIj/0vYQ/9lxGD/SKdD/23fZ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj+gAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WN/89mzj/WshU/yzSI/8s0iP/leiQ//// + //8/JyH/Pych/z8nIf8/JyH/TDYw/2lbV/9NQDz/UTs1/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/3pp + Zf8vIh7/oZaT//7+/v/w+Pr/HpO2/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F4+0/3O8 + 0v/+/v7/6ufn/1VIRP+EdnL/cF5Z/z8nIf8/JyH/Pych/z8nIf9uXFf/dmhl/0Y5Nf9eT0v/dGRg/2pc + WP9OQT3/Nyom/05BPf9wY1//gnNv/5GEgP/FxcX/lsWT/23fZ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/851DD/hON+/yiGI/9t32f/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/AAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/PtU1/zGPLP9l01//LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/z8n + If8/JyH/bFxY/z0vLP9ROzX/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/UDo1/31yb//+/v7//f7+/yuZ + uv8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xmQtP9SrMf//v7+/+/g3P9KNC7/eGtn/ysd + Gv+EdHH/Pych/0AoIv9RPDb/W0dC/35uav9vYV7/U0ZC/yUYFP9GODX/b2Fd/39va/91Y1//Tzk0/0s0 + Lv9XQj3/a11Z/8/Pz/+177L/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf81lDD/ft15/znU + MP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8AAAAAAAAAAIfl + gf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/9n3mH/GnkV/3Phbf8s0iP/LNIj/5XokP//////Pych/z8nIf8/JyH/Pych/z8nIf9tXVn/PjAt/1E7 + Nf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9AKCL/3tva//////88ocD/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/Np69///////+/v7/p1dC/z8nIf9fS0b/WEtH/0I0MP9VR0P/altX/1tN + Sf8+MC3/TD87/25hXf9URkP/cWRg/3ppZf9LNC7/Pych/z8nIf8/JyH/SjQu/4R2c/9BMzD//////5Xo + kP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/dNRv/0GfPP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/wAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/3fhcv8kgh//Z95h/yzS + I/8s0iP/leiQ///////a1tX////////////b19b/QCgi/2hZVf9QQj//UTs1/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/9zY1v/+/v7/XbHL/xmQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/yeX + uf/5/P3//v7+/2BNSP+nV0L/Pych/1pFQP9wYl//Nykm/yweG/9qXFn/eWll/3JhXf+BcW3/VUdD/3Fj + YP91Y1//Pych/z8nIf8/JyH/Pych/z8nIf91Y1//NSck/5GDf///////leiQ/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/2feYf86mTX/eeJ0/y3SJP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/AAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9A1jj/W7pW/1GwTP8/1jb/LNIj/yzSI/+V6JD//v7+//7+ + /v/Pz8//7+/v//7+/v/f29r/YVRQ/2ZYVf9MNjD/Pych/z8nIf8/JyH/Pych/z8nIf/c2Nb//v7+/37A + 1f8Wj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8bkbb/7Pb5//7+/v9gTUj/Pych/6dX + Qv8/JyH/Qiok/4N0cP9YS0f/fG5q/1ZBO/8/JyH/SjMu/3ttaf9GODX/dWNf/z8nIf8/JyH/Pych/z8n + If8/JyH/TDYw/3NlYv9QQz//WkZB//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/ceBr/zKQ + LP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/oAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/0vYQ/8zki7/X8pa/y3SJP8s0iP/LNIj/+v66v//////09PT/6Ghof+pqan/8vLy//7+ + /v+jnZz/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/29fW//7+/v+g0eD/Eo2y/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbT/EYyy/9nt8v/+/v7/YE1I/z8nIf8/JyH/p1dC/z8nIf8/JyH/Tjcy/zst + Kv9/b2v/Pych/z8nIf9bR0L/Rzk2/4N1cv9LNC7/Pych/z8nIf8/JyH/Pych/z8nIf9bR0L/SDs3/4t9 + ef9MNjD//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/zrVMv9iwl3/W7pW/0DWOP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj5wAAAAAAAAAAh+WB/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/eeJ0/xl3 + E/904W7/LNIj/yzSI//Y9tb//f39/9ra2v+goKD/pKSk/6SkpP+np6f/7e3t/6ehn/9bR0L/Pych/z8n + If8/JyH/Pych/2FNSf//////weHr/w6Lsf8akbT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/w+L + sf+43ej//////2FNSf8/JyH/Pych/z8nIf+nV0L/Pych/0MsJv9sWVX/PjAt/39va/8/JyH/Pych/4Fx + bf8jFhL/f29r/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/4Fxbf8tIBz/dWNf/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/yzSI/8s0iP/P9Y3/0mnRP944nL/LdIk/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPOAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WNv9YtlL/UbBM/0vYQ/8s0iP/2PbW//7+ + /v/e3t7/oqKi/6SkpP+kpKT/pKSk/6Ghof/u7u7/v7e1/0AoIv8/JyH/Pych/z8nIf9gTUj//v7+/9/v + 9P8TjbL/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8TjbL/mM3d//7+/v/b19b/Pych/z8n + If8/JyH/Pych/6dXQv8/JyH/YlBL/1lMSP9FODT/f29s/z8nIf8/JyH/f29r/yMWEv9/b2v/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/b19b/0EzMP9POTT/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/831C//PJo3/2HdW/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI64AAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8u0iX/bd9n/xp4Ff934HL/LdIk/9j21//+/v7/4eHh/6Wlpf+kpKT/pKSk/6Sk + pP+goKD/5+fn//////9+bmr/Pych/z8nIf8/JyH/YU1J//7+/v/v9/r/HZO2/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/Fo+z/3a90//+/v7/6+jo/1tHQv8/JyH/Pych/z8nIf8/JyH/p1dC/3Vk + YP9cTkv/IxYS/yMWEv9GOTX/hHVx/1pFQP94Z2P/PzIu/4p8eP9LNC7/Pych/z8nIf8/JyH/Pych/z8n + If9mVlL/Sz06/1E7Nf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/2HdW/8wjiv/N9Qv/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIjiAAA + AAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0vY + Q/9kwl//RaM//0vYQ//Y9tf//v7+/+Tk5P+mpqb/pKSk/6SkpP+kpKT/pKSk/62trf/9/f3//v7+/7h5 + aP+uZVL/v4Z3/9Cmm//+/v7//P39/yuZuv8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xmQ + tP9Vrcj//v7+/+/m5P91SDz/mm1h/8aThv/AhXb/kGti/3BeWf/JmYz/Nykm/zgrJ/9zZWH/fm5q/3Vn + Y/88Liv/VUdE/4Bxbv+Mf3v/QjQw/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/35uav88Liv/W0dC/z8n + If//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/c+Ft/yWEIP8/1jf/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iNbAAAAAAAAAACH5YH/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/eeJ0/xl3E/954nT/2PbW//7+ + /v/n5+f/qKio/6SkpP+kpKT/pKSk/6SkpP+kpKT/o6Oj/76+vv/9/f3//v7+/390cf9KPTn/1tPT//// + //86oL//GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/N5++///////W0M//b2Bc/ywe + Gv8+MC3/MyYi/zEjIP95Sz//PzEt/41fU/84Kyf/eWlk/0o0Lv8/JyH/SjQu/3VjX/+DdXH/QDIv/0U3 + M/9VR0P/emxp/1VAO/8/JyH/Pych/z8nIf8/JyH/dWNf/z0vLP+FdnL/QCgi//////+V6JD/LNIj/yzS + I/8s0iP/LNIj/yzSI/9z4W3/IoAc/z7VNf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIygAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf9KqUX/XrxY/2vfZP//////7e3t/6ioqP+jo6P/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/oaGh/8jIyP//////4Nzb/+Hd3P/+/v7/Wq/J/xmQtP8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/yiXuf/6/f3//v7+/31taf9qXFn/MSMg/3lqZv9OODP/W0dC/8eU + h/9FNzP/YzYq/4Bxbv9LNS//Pych/z8nIf8/JyH/Pych/19LRv9tW1b/kYSA/0AzL/8kFhP/eGpn/3Vj + X/9KNC7/Pych/z8nIf9KNC7/cWNf/1hLR/9bR0L//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/2fe + Yf8gfxv/Z95h/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/AAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/9F1z3/ctJt/yyKJv9t32f//v7+//Ly8v+lpaX/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/oaGh/8fHx////////////3zA1P8Wj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8bkbX/7fb5//7+/v+2dWT/x5SH/2EzJ//HlIb/rGFN/6dXQv9nOS3/p1dC/4V2cv9wQjb/WUQ//z8n + If8/JyH/QSkj/1tGQf+FdnL/X1JO/0k7OP9SREH/Y1VS/3NjX/9XSUb/MyYi/3VnY/91Y1//UDo0/z8n + If91Y1//PS8s/4V2cv//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/PtU1/zCOK/9y4Wz/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI8wAAAAAAAAAAAAA + AACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/Rdc9/4Liff8igB3/h+WB/0zY + RP//////ysrK/6Ojo/+kpKT/o6Oj/6Ojo/+ioqL/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/oqKi/7+9 + vf+Xz+D/E42y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/Eo2y/9zu8//+/v7/bVpW/1tH + Qv9QQj//cWRg/1tGQf8/JyH/Pych/z8nIf+nV0L/W0dC/39RRf+AcGz/Pych/0EpI/96aWX/dmhl/0Ay + L/+HeXb/dWNf/085NP9MNjD/Pych/1tHQv+FdnL/XlBN/zIkIf9yZGH/emll/1xHQv+KfHn/Rzk2//// + //+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8/1jf/TqxJ/2bHYf861TL/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjhQAAAAAAAAAAAAAAAIflgf8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LdIk/z7VNf944nP/LYwo/4Phfv9jwV7/QqA8//7+/v//////09PT/6Sk + pP+ioqL/xcXF/+fn5/+ioqL/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKOj/42eo/8Uj7T/GpCz/xmR + tf8akbX/GpG1/xqRtf8akbX/GpG1/w+Lsf+73+n//////1JHRP+Cc2//g3Vy/zUoJP96aWX/QSkj/z8n + If8/JyH/Pych/6dXQv9RPDb/o3Vp/2tdWv9LNS//Tzk0/3JlYf9TRkL/emll/0s0Lv8/JyH/Pych/z8n + If8/JyH/Pych/0AoIv9bR0L/hXZy/2haV/80JiP/Z1pW/5GEgP9fUk7/6urq/5vplv8s0iP/LNIj/yzS + I/8s0iP/LNIj/zrVMv9iwl3/SahE/z/WN/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iM3AAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/861TL/PtU1/2fe + Yf924HD/WLZT/yeFIv8behb/Kogl/2jHY/+H5YH/l+iT/9f11v/+/v7/3d3d/76+vv/8/Pz//v7+//Ly + 8v+mpqb/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKP/pKOk/56io/8ckLP/GZCz/xmRtf8akbX/GpG1/xqR + tf8TjbL/ms/e//7+/v/g3dz/PjAt/5GEgP8yJCH/h3l2/0UuKP8/JyH/Pych/z8nIf8/JyH/rGJO/1M9 + OP/Aj4L/QzYy/2lXUv95amb/Rjg1/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9AKCL/W0ZB/4BwbP9tYFz/PS8s/1pMSf+zs7P/vPC4/zjUL/8s0iP/LNIj/yzSI/8s0iP/LNIj/2rY + ZP8piCT/S9hD/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/gAA + AAAAAAAAAAAAAAAAAACH5YH/LNIj/z/WNv9n3mH/cuFs/1u8Vv8/nTr/N5Yy/0upRf9Zw1P/c+Ft/2vZ + Zf9gwVv/SKdD/yiGI/8+nDn/aMhj/+P54v/+/v7//f39//7+/v/C8b///v7+//X19f+pqan/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/oqOk/6aiof8mkbD/GI+0/xmQtf8akbX/Fo+z/3i+1P/+/v7/3NjW/1E7 + Nv9bTkr/WkxJ/1lLSP9eTkn/XlBN/2teWv9CLyv/OCYh/zknI/+UZ1v/VkhF/8eUhv8sHxv/kYSA/zgq + J/+AcGz/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SDIs/11I + Q/+IeXX/gXNw/62trf9sm2n/fd14/2feYf851DD/LNIj/yzSI/8s0iP/Z95h/yOBHv954nT/LdIk/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iOmAAAAAAAAAAAAAAAAAAAAAJTo + j9861TL+TKpH/zSSL/8/nTr/W7xW/2/eaf9n3mH/P9Y2/y3SJP8s0iP/LNIj/zrVMv9L2EP/dOFu/2DK + Wv9Fo0D/IoAd/7LesP+78Ln/bN9m/5XokP/+/v7///////T09P+srKz/o6Oj/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/o6Ok/6ifnP80j6z/F5C1/xmQtP9Xrsj//v7+/9zY1v8/JyH/Qywm/2xdWv8jFhL/V0lG/0Yz + Lv8/JyH/Pych/z8nIf8/JyH/Pych/72Bcv92ZmL/iFtP/05APf9VSET/cGJf/1tGQf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9bR0L/gXFt/3BgXP9bTUr/SDo3/0g6N/9LPTr/wcHB/5fG + lP86mTX/NpUx/3LSbP9n3mH/OdQw/yzSI/8+1Tb/WLdT/2LAXf9A1jj/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIz8AAAAAAAAAAAAAAAAAAAAAt++0nzXULf9r2GX/dOFu/0vY + Q/861TL/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/0vYQ/934HH/TatI/yGA + HP9ry2b/su6v///////b19b//v7+//Dw8P+tra3/o6Oj/6SkpP+kpKT/pKSk/6SkpP+kpKT/o6Ok/6uh + n/9Olav/NZ6+///////Uz87/Pych/z8nIf91Y1//TUA8/25hXf90Y17/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/p1dC/z8nIf+vZlP/STw4/zYoJf94Z2P/QSkj/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0o0 + Lv91Y1//bl9b/1BCP/9CNTH/V0lG/2laVv9/b2v/dWNf/085NP//////numZ/2feYf9v2Wr/RKI//zGP + LP9pyWT/Z95h/zvVM/9w22r/MY8s/0vYQ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iPzAAAAAAAAAAAAAAAAAAAAAAAAAAD///9cLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y3SJP9L2EP/gN97/zWTMP95qXb//v7+/1ZB + O//c2Nb//v7+//Ly8v+zs7P/oqKi/6SkpP+kpKT/pKSk/6SkpP+kpKT/oqOi/7Svrv/n6Oj//////87I + xv+lmpf/VkE7/3ttav84Kif/emll/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+nV0L/Pych/6dY + Q/+FdnL/LSAc/3NiXf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91Y1//fW9r/zwuK/9URkP/gXJu/3Vj + X/9QOjX/QCgi/z8nIf8/JyH/Pych//////+V6JD/LNIj/y3SJP9L2EP/eOFy/0imQv8siyf/ZMRf/4Lk + fP8zki7/dd5v/y3SJP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI4EAAAAAAAAAAAAA + AAAAAAAAAAAAAP///zws0iONLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/bd9n/6TUov+ZmZn/h3l1/1VAO//SqqD///////n5 + +f+8vLz/oqKi/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6ioqP/Kysr/+Pj4//7+/v//////0c7N/6KX + lf9KNC7/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/6dXQv8/JyH/p1dC/1tHQv89Lyz/d2dj/z8n + If8/JyH/Pych/z8nIf8/JyH/emll/2VXVP8+MC3/kYN//1tHQv9AKCL/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/8t0iT/S9hD/3bhcP9NrEj/JoUh/1KxTf9OrEj/UNlI/y3S + JP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjCAAAAAAAAAAAAAAAAAAAAAAAAAAA////GyzS + IxAs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8u0iX/pOug//j4+P8nGhb/gnRx/7FrWP9gTUj//v7+//z8/P/FxcX/oqKi/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Ojo/+hoaH/wcHB/+Hh4f////////////////////////////// + ////////pJmW/z8nIf8/JyH/p1dC/z8nIf+nV0L/UTs2/2RXU/9mWFX/TDYw/z8nIf8/JyH/Pych/3pp + Zf9dT0z/V0lG/3ppZf9KNC7/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/zrVMv9K2EL/duFw/3vZdv9dvFj/IYAc/yKBHf9bulb/eeJ0/0vYQ/8t0iT/LNIj/yzS + I/8s0iP/LNIj/izSI6MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8PAAAAACzSI6gs0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/+V6JD//v7+/46AfP8lFxT/wpOH/3lQRv+2dGP//v7+//7+/v/c3Nz/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+jo6P/oaGh/6mpqf+vr6//r6+v/7a2tv+3t7f/2NjY//z8/P/SqqD/p1dC/2c5 + Lf+nV0L/Pych/6dXQv9AKCL/gnNv/0EzMP9bR0L/Pych/z8nIf91Y1//Y1VS/1xPS/96aWX/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LdIk/z/WNv9n3mH/cdJs/0Wj + P/8riSb/S6lF/2jSYv9l3l//Zd5e/2TEX/8mhCH/T61K/3jhcv871TP/LNIj/yzSI/8s0iP/LNIjFgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wwAAAAALNIjEyzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////VkE7/4l7 + eP9eMSX/joB9/0o0Lv9nVFD/1M/O//7+/v/z8/P/qqqq/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+jo6P/paWl/+fn5//+/v7/49/e/52Rjv9/b2v/dWNf/65lUv9MNjD/p1dC/z8n + If91Y1//LSAc/4Fxbf8/JyH/VkE7/3hqZ/9IOzf/emll/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH//v7+/7Lur/914HD/SahE/y2LKP9XtVL/dN5u/2feYf8/1jb/LdIk/yzS + I/8s0iP/OdQw/2feYf9szGb/YL9b/0DWOP8s0iP/LNIj/yzSI6EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////DAAAAAAAAAAALNIjkizSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/W0dC/6h6bv84Kif/dWNf/z8n + If8/JyH/npKP//7+/v/+/v7/srKy/6Kiov+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/oKCg/8fH + x//5+fn//////6Sdm/9XSUb/V0lG/0Q2M/8tIBz/iVtP/4p8ef+/hnf/SjQu/043Mv9TRUL/a1xY/0Ir + Jf+FdnL/MiQh/4V2cv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzUv/3Vj + X//t7e3/bZxq/0OiPv942HP/Z95h/z7VNv8t0iT/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/zrV + Mv9A1jj/MNIn/yzSI/8s0iP/LNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8KAAAAAAAA + AAAs0iMFLNIj+izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf9BKSP/mXdv/3NFOf+pe27/sWtY/6dXQv+nV0L/tnRj//7+ + /v//////0NDQ/6Wlpf+kpKT/pKSk/6SkpP+kpKT/o6Oj/6ioqP/l5eX//v7+//Lm4//Mn5P/rmVS/69m + U/+vZlP/tHBe/8WQgv+XenP/QzUy/39SRv+Rg3//aVZR/4V3dP9WSUX/blxX/1pMSf9nWVb/VkE7/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/QSkj/085NP98bWn/Oi0p/8rKyv+78Lj/S9hD/zrV + Mv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wQAAAAAAAAAAAAAAAAs0iNjLNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf9KNC7/hXd0/yQXE/+AcGz/Pych/z8nIf8/JyH/Z1RQ/9TPzv/+/v7/9fX1/7m5 + uf+kpKT/pKSk/6CgoP/IyMj/+Pj4///////e2dj/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0s0 + Lv91Y1//u42B/zYpJf9vYl7/kYSA/zEjIP+RhID/KRsX/4BwbP8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf96aWX/YVRQ/z4wLP99bWn//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iPuAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAAAAAs0iPKLNIj/izSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If91Y1//RDYz/25gXf9KNC7/Pych/z8nIf8/JyH/Pych/56Sj//+/v7//v7+//Ly8v++vr7/4eHh//7+ + /v/+/v7/YU1J/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+xa1j/hXZy/1VH + Q/9RRED/Sjw5/00/PP9eUE3/W0dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9WQTv/hXZy/0I1 + Mf9iVFH/dWNf/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIzEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAACzSIw0s0iP9LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/0o0Lv+CdHH/QjQx/3Vj + X/8/JyH/Pych/z8nIf8/JyH/Pych/3VjX/+fmJb//v7+////////////29fW/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/6FUQP8/JyH/emll/2hbV/8sHxv/IxYS/3hp + Zf9AKCL/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/5CCf/8xIyD/cmRh/3VjX/8/JyH/Pych//// + //+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iOOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI1Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////vGpU/6dXQv+nV0L/p1dC/7+Gd/9tPzP/xI+B/6dXQv+nV0L/p1dC/6dX + Qv+xa1j/s4R4/45hVf+/hnf/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/oFRA/69aRP8/JyH/emll/2tdWv8lFxT/f29r/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/0s0Lv+Rg3//MCIf/3psaf9WQTv/Pych/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj4wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + I5Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/nOqY//7+ + /v//////1dDP/2lWUf8/JyH/UDo1/1tNSv9sXlv/TDYw/z8nIf8/JyH/QCgi/4V2cv8tIBz/hXZy/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/65aRP+uWkT/emll/z4wLf99bWn/Pych/z8nIf8/JyH/Pych/z8nIf9BKSP/emll/z4w + Lf90ZmL/VkE7/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI/0s0iMRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI9Qs0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ///////+/v7//////9XQ + z/9qV1L/fW5q/1BDP/9ROzX/Pych/z8nIf9bR0L/WEpH/3JkYf9VQDv/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If+1aFT/nm9i/2haV/9MNjD/Pych/z8nIf8/JyH/Pych/1tHQv9iVFH/X1FO/3VjX/8/JyH/Pych/z8n + If8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjBSzSI+0s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP///////v7+///////l4+H/RDYz/1tH + Qv8/JyH/SjQu/4d5dv86LSn/dWNf/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9RPDb/UTs1/1E7 + Nf9ROzX/UTs1/1E7Nf9RPDb/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9/cGz/iVlN/4FZ + Tf8/JyH/Pych/z8nIf9KNC7/iHp2/zUoJP96aWX/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH//////5Xo + kP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI28AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjECzSI/Ys0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD///////////+ysrL/wLi2/z8nIf96aWX/Nyom/46B + ff9KNC7/Pych/z8nIf9AKCL/UTw2/1tHQv+BcW3/cmJf/2BST/9TRkL/Rzk2/0I1Mf9ENjP/UkRB/2FT + UP94aWX/dWNf/1A6Nf9AKCL/Pych/z8nIf8/JyH/Pych/3VjX/80JyP/nn92/6dXQv9sPC//QSkj/3pp + Zf8tHxz/jX98/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjFizSI/ks0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/9Y21H/1PXS/729vf/6+vr//v7+/6Wfnf9dT0z/WkZB/z8nIf9QOjX/dWNf/3hp + Zf9VSET/Nykm/0w/O/9hVFD/cGFd/3lpZf99bWn/fm5q/3xsaP92ZmL/c2Vh/1RGQ/8yJCH/VklF/4V2 + cv9bR0L/TDYw/z8nIf8/JyH/UDo1/1NFQv9vYFz/QCgi/2w8L/+6cl//ZFdT/2RXU/9bR0L/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjFyzS + I/cs0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/871TP/ZbRh/8/ozf/9/f3/nZ2d/+Xi4f+BcWz/hXZy/1dJRv80JyP/WkxJ/3RlYf+BcW3/W0dC/1E8 + Nv9AKCL/Pych/z8nIf8/JyH/Pych/z8nIf9MNjD/Tzk0/3VjX/96bGn/RTcz/0o8Of+Rg3//W0dC/0Ir + Jf9AKCL/Z1hU/1lLSP9QOjX/QCgi/4V1cv9lNSn/y5aI/0AoIv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI5QAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjEyzSI/Es0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8lqh7/b9Jq/1ak + Uv/w8PD/8/Pz/7CwsP+XlJT/jYJ//4BwbP9bR0L/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0s0Lv91Y1//gXNw/0AzL/9eUU3/YExH/0kyLf9/b2v/PTAs/3Vj + X/9aRUD/WEpH/2xeW/9bRkH/rlpE/65aRP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8WAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjCizSI+Ms0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0G0O/9Usk//NJMv/zmYNP9wn23/7+/v//7+ + /v/+/v7/1dDP/2hVUP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9KNC7/dWNf/2VWUv86LSn/iXx4/3JhXf9HOTb/fGxo/3xsaP8jFhL/hXZy/0Ao + Iv8/JyH/Pych/65aRP9sPC//Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/4s0iP/LNIjawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI6ws0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8t0iT/ULpK/xl3E/8lgx//bc1n/2feYf851DD/leiQ///////+/v7//////5+T + kP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/STIt/4p9ef82KSX/fnBs/2VXU/9iVFD/ZVdT/1RGQ/9bR0L/Pych/z8nIf8/JyH/Pych/2w7 + L/+nV0L/bDwv/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP+LNIj+yzSIzgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI3Es0iP/LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0vY + Q/9WtVH/Ppw5/3nidP9F1z3/LNIj/yzSI/8s0iP/LNIj/9j21v////////////////+fk5D/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/4Fx + bf8/MC3/b2Bc/0k7OP82KCX/gHBt/0AoIv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9sPC//p1dC/2w7 + L///////leiQ/yzSI/8s0iP/LNIj/yzSI90s0iMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8WAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + IyIs0iPsLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/heSA/yB/G/954nT/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/1nbUv/Q9c7/////////////////mIuI/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+DfHr/aGFf/2li + YP+6sa//n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/tId8//////+V6JD/LNIj/izS + I/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iOMLNIj/yzS + I/4s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf9Anjv/ZMRf/0XXPf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/9Z21L/0PXO//////////////////////////////////////////////////// + //////////////////////////////////////////////////+8vLz/wcHB//////////////////// + /////////////////////////////////////////////5vpl/8s0iPqLNIjLAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMjLNIj1SzSI/8s0iP+LNIj/yzS + I/851DD/d9hy/zCOK/9n3mH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/2rUZP9KqUX/P9Y3/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIjfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjVizSI/Is0iP/LNIj/2feYf8nhSL/fN13/znU + MP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/dOFu/zmYNP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iP/LNIjpizS + IwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI2os0iPzTLpG/1KwTf5n3mH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9L2EP/SqlF/3Th + bv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjsizSIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABs3mZtUNhJ3S7SJf8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/zvVM/9qzmX/WdRT/yzSI/8s0iP/LNIj/izS + I/8s0iP/LNIjlyzSIxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjLCzSI54s0iP+LNIj/yzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPSLNIjZgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAs0iNHLNIjpizSI/os0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/4s0iP/LNIj/yzSI88s0iN3LNIjGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + Iyos0iNzLNIjtyzSI/Us0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPWLNIjlyzSI04s0iMDAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + Iw4s0iNALNIjbCzSI5Qs0iO1LNIj0izSI+gs0iP6LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPyLNIj3izS + I8Qs0iOlLNIjgSzSI1Ys0iMoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////gAAAD//////4AA///////4AAAA//////AA + AAf/////+AAAAP////8AAAAA//////gAAAD////4AAAAAB/////4AAAA////4AAAAAAD////+AAAAP// + /4AAAAAAAP////gAAAD///gAAAAAAAA////4AAAA///4AAAAAAAAH///+AAAAP//4AAAAAAAAAf///gA + AAD//8AAAAAAAAAB///4AAAA//+AAAAAAAAAAP//+AAAAP/+AAAAAAAAAAB///gAAAD//AAAAAAAAAAA + P//4AAAA//gAAAAAAAAAAA//+AAAAP/wAAAAAAAAAAAH//gAAAD/4AAAAAAAAAAAA//4AAAA/8AAAAAA + AAAAAAH/+AAAAP+AAAAAAAAAAAAB//gAAAD/AAAAAAAAAAAAAP/4AAAA/gAAAAAAAAAAAAB/+AAAAP4A + AAAAAAAAAAAAP/gAAAD8AAAAAAAAAAAAAB/4AAAA+AAAAAAAAAAAAAAf+AAAAPgAAAAAAAAAAAAAD/gA + AADwAAAAAAAAAAAAAA/4AAAA4AAAAAAAAAAAAAAH+AAAAOAAAAAAAAAAAAAAA/gAAADAAAAAAAAAAAAA + AAP4AAAAwAAAAAAAAAAAAAAB+AAAAIAAAAAAAAAAAAAAAfgAAACAAAAAAAAAAAAAAAD4AAAAAAAAAAAA + AAAAAAAA+AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAeAAAAAAA + AAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgA + AAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAA + AAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAA + AAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAA + AAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgA + AAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAA + AAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAA + AAAAAAAAeAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AAAAIAA + AAAAAAAAAAAAAPgAAACAAAAAAAAAAAAAAAH4AAAAwAAAAAAAAAAAAAAB+AAAAMAAAAAAAAAAAAAAA/gA + AADgAAAAAAAAAAAAAAP4AAAA4AAAAAAAAAAAAAAH+AAAAPAAAAAAAAAAAAAAD/gAAAD4AAAAAAAAAAAA + AA/4AAAA+AAAAAAAAAAAAAAf+AAAAPwAAAAAAAAAAAAAH/gAAAD+AAAAAAAAAAAAAD/4AAAA/gAAAAAA + AAAAAAB/+AAAAP8AAAAAAAAAAAAA//gAAAD/gAAAAAAAAAAAAf/4AAAA/8AAAAAAAAAAAAH/+AAAAP/g + AAAAAAAAAAAD//gAAAD/8AAAAAAAAAAAB//4AAAA//gAAAAAAAAAAA//+AAAAP/8AAAAAAAAAAA///gA + AAD//gAAAAAAAAAAf//4AAAA//+AAAAAAAAAAP//+AAAAP//wAAAAAAAAAH///gAAAD//+AAAAAAAAAH + ///4AAAA///4AAAAAAAAH///+AAAAP///gAAAAAAAD////gAAAD///+AAAAAAAD////4AAAA////4AAA + AAAD////+AAAAP////gAAAAAH/////gAAAD/////AAAAAP/////4AAAA//////AAAAf/////+AAAAP// + ////gAD///////gAAAD////////////////4AAAA////////////////+AAAAP////////////////gA + AAA= + + + \ No newline at end of file diff --git a/EduNetworkBuilder/NetworkBuilder.Designer.cs b/EduNetworkBuilder/NetworkBuilder.Designer.cs new file mode 100644 index 0000000..ec27de7 --- /dev/null +++ b/EduNetworkBuilder/NetworkBuilder.Designer.cs @@ -0,0 +1,609 @@ +namespace EduNetworkBuilder +{ + partial class BuilderWindow + { + /// + /// 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() + { + this.msMainMenuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dHCPRequestToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clearArpTableToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clearIPsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.pingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.releaseNotesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.checkForUpdatesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.samplesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.puzzlesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.solvedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dHCPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.oneNetworkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.twoNetworksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.threeNetworksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.firewallsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toSolveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.solvedDHCPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.solvedOneNetworkToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.solvedTwoNetworksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SolvedThreeNetworksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.firewallsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.panelChoices = new System.Windows.Forms.Panel(); + this.lbMessages = new System.Windows.Forms.ListBox(); + this.lblStatus = new System.Windows.Forms.Label(); + this.pbNetworkView = new System.Windows.Forms.PictureBox(); + this.btnHelp = new System.Windows.Forms.Button(); + this.rbHelp4 = new System.Windows.Forms.RadioButton(); + this.rbHelp3 = new System.Windows.Forms.RadioButton(); + this.rbHelp2 = new System.Windows.Forms.RadioButton(); + this.rbHelp1 = new System.Windows.Forms.RadioButton(); + this.HelpPanel = new System.Windows.Forms.Panel(); + this.myProgressBar = new System.Windows.Forms.ProgressBar(); + this.changeLanguageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.msMainMenuStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbNetworkView)).BeginInit(); + this.HelpPanel.SuspendLayout(); + this.SuspendLayout(); + // + // msMainMenuStrip + // + this.msMainMenuStrip.ImageScalingSize = new System.Drawing.Size(20, 20); + this.msMainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.editToolStripMenuItem, + this.allToolStripMenuItem, + this.helpToolStripMenuItem, + this.samplesToolStripMenuItem}); + this.msMainMenuStrip.Location = new System.Drawing.Point(0, 0); + this.msMainMenuStrip.Name = "msMainMenuStrip"; + this.msMainMenuStrip.Padding = new System.Windows.Forms.Padding(4, 2, 0, 2); + this.msMainMenuStrip.Size = new System.Drawing.Size(463, 24); + this.msMainMenuStrip.TabIndex = 0; + this.msMainMenuStrip.Text = "msMainMenuStrip"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.newToolStripMenuItem, + this.loadToolStripMenuItem, + this.reloadToolStripMenuItem, + this.saveToolStripMenuItem, + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // newToolStripMenuItem + // + this.newToolStripMenuItem.Name = "newToolStripMenuItem"; + this.newToolStripMenuItem.Size = new System.Drawing.Size(110, 22); + this.newToolStripMenuItem.Text = "New"; + this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); + // + // loadToolStripMenuItem + // + this.loadToolStripMenuItem.Name = "loadToolStripMenuItem"; + this.loadToolStripMenuItem.Size = new System.Drawing.Size(110, 22); + this.loadToolStripMenuItem.Text = "Load"; + this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click); + // + // reloadToolStripMenuItem + // + this.reloadToolStripMenuItem.Name = "reloadToolStripMenuItem"; + this.reloadToolStripMenuItem.Size = new System.Drawing.Size(110, 22); + this.reloadToolStripMenuItem.Text = "Reload"; + this.reloadToolStripMenuItem.Click += new System.EventHandler(this.reloadToolStripMenuItem_Click); + // + // saveToolStripMenuItem + // + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.Size = new System.Drawing.Size(110, 22); + this.saveToolStripMenuItem.Text = "Save"; + this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(110, 22); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.cutToolStripMenuItem, + this.copyToolStripMenuItem, + this.pasteToolStripMenuItem, + this.undoToolStripMenuItem, + this.optionsToolStripMenuItem, + this.changeLanguageToolStripMenuItem}); + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "Edit"; + // + // cutToolStripMenuItem + // + this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; + this.cutToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.cutToolStripMenuItem.Text = "Cut"; + // + // copyToolStripMenuItem + // + this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; + this.copyToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.copyToolStripMenuItem.Text = "Copy"; + // + // pasteToolStripMenuItem + // + this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; + this.pasteToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.pasteToolStripMenuItem.Text = "Paste"; + // + // undoToolStripMenuItem + // + this.undoToolStripMenuItem.Name = "undoToolStripMenuItem"; + this.undoToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.undoToolStripMenuItem.Text = "Undo"; + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.optionsToolStripMenuItem.Text = "Options"; + this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click); + // + // allToolStripMenuItem + // + this.allToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dHCPRequestToolStripMenuItem, + this.clearArpTableToolStripMenuItem, + this.clearIPsToolStripMenuItem, + this.pingToolStripMenuItem}); + this.allToolStripMenuItem.Name = "allToolStripMenuItem"; + this.allToolStripMenuItem.Size = new System.Drawing.Size(33, 20); + this.allToolStripMenuItem.Text = "All"; + // + // dHCPRequestToolStripMenuItem + // + this.dHCPRequestToolStripMenuItem.Name = "dHCPRequestToolStripMenuItem"; + this.dHCPRequestToolStripMenuItem.Size = new System.Drawing.Size(155, 22); + this.dHCPRequestToolStripMenuItem.Text = "DHCP Request"; + this.dHCPRequestToolStripMenuItem.Click += new System.EventHandler(this.dHCPRequestToolStripMenuItem_Click); + // + // clearArpTableToolStripMenuItem + // + this.clearArpTableToolStripMenuItem.Name = "clearArpTableToolStripMenuItem"; + this.clearArpTableToolStripMenuItem.Size = new System.Drawing.Size(155, 22); + this.clearArpTableToolStripMenuItem.Text = "Clear Arp Table"; + this.clearArpTableToolStripMenuItem.Click += new System.EventHandler(this.clearArpTableToolStripMenuItem_Click); + // + // clearIPsToolStripMenuItem + // + this.clearIPsToolStripMenuItem.Name = "clearIPsToolStripMenuItem"; + this.clearIPsToolStripMenuItem.Size = new System.Drawing.Size(155, 22); + this.clearIPsToolStripMenuItem.Text = "Clear IPs"; + this.clearIPsToolStripMenuItem.Click += new System.EventHandler(this.clearIPsToolStripMenuItem_Click); + // + // pingToolStripMenuItem + // + this.pingToolStripMenuItem.Name = "pingToolStripMenuItem"; + this.pingToolStripMenuItem.Size = new System.Drawing.Size(155, 22); + this.pingToolStripMenuItem.Text = "Ping"; + this.pingToolStripMenuItem.Click += new System.EventHandler(this.pingToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.helpToolStripMenuItem1, + this.aboutToolStripMenuItem, + this.releaseNotesToolStripMenuItem, + this.checkForUpdatesToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // helpToolStripMenuItem1 + // + this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1"; + this.helpToolStripMenuItem1.Size = new System.Drawing.Size(173, 22); + this.helpToolStripMenuItem1.Text = "Help"; + this.helpToolStripMenuItem1.Click += new System.EventHandler(this.helpToolStripMenuItem1_Click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(173, 22); + this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // releaseNotesToolStripMenuItem + // + this.releaseNotesToolStripMenuItem.Name = "releaseNotesToolStripMenuItem"; + this.releaseNotesToolStripMenuItem.Size = new System.Drawing.Size(173, 22); + this.releaseNotesToolStripMenuItem.Text = "Release Notes"; + this.releaseNotesToolStripMenuItem.Click += new System.EventHandler(this.releaseNotesToolStripMenuItem_Click); + // + // checkForUpdatesToolStripMenuItem + // + this.checkForUpdatesToolStripMenuItem.Name = "checkForUpdatesToolStripMenuItem"; + this.checkForUpdatesToolStripMenuItem.Size = new System.Drawing.Size(173, 22); + this.checkForUpdatesToolStripMenuItem.Text = "Check For Updates"; + // + // samplesToolStripMenuItem + // + this.samplesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.puzzlesToolStripMenuItem, + this.solvedToolStripMenuItem, + this.toSolveToolStripMenuItem}); + this.samplesToolStripMenuItem.Name = "samplesToolStripMenuItem"; + this.samplesToolStripMenuItem.Size = new System.Drawing.Size(63, 20); + this.samplesToolStripMenuItem.Text = "Samples"; + // + // puzzlesToolStripMenuItem + // + this.puzzlesToolStripMenuItem.Name = "puzzlesToolStripMenuItem"; + this.puzzlesToolStripMenuItem.Size = new System.Drawing.Size(119, 22); + this.puzzlesToolStripMenuItem.Text = "Puzzles"; + this.puzzlesToolStripMenuItem.Click += new System.EventHandler(this.puzzlesToolStripMenuItem_Click); + // + // solvedToolStripMenuItem + // + this.solvedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dHCPToolStripMenuItem, + this.oneNetworkToolStripMenuItem, + this.twoNetworksToolStripMenuItem, + this.threeNetworksToolStripMenuItem, + this.firewallsToolStripMenuItem}); + this.solvedToolStripMenuItem.Name = "solvedToolStripMenuItem"; + this.solvedToolStripMenuItem.Size = new System.Drawing.Size(119, 22); + this.solvedToolStripMenuItem.Text = "Solved"; + // + // dHCPToolStripMenuItem + // + this.dHCPToolStripMenuItem.Name = "dHCPToolStripMenuItem"; + this.dHCPToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.dHCPToolStripMenuItem.Text = "DHCP"; + this.dHCPToolStripMenuItem.Click += new System.EventHandler(this.dHCPToolStripMenuItem_Click); + // + // oneNetworkToolStripMenuItem + // + this.oneNetworkToolStripMenuItem.Name = "oneNetworkToolStripMenuItem"; + this.oneNetworkToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.oneNetworkToolStripMenuItem.Text = "One Network"; + this.oneNetworkToolStripMenuItem.Click += new System.EventHandler(this.oneNetworkToolStripMenuItem_Click); + // + // twoNetworksToolStripMenuItem + // + this.twoNetworksToolStripMenuItem.Name = "twoNetworksToolStripMenuItem"; + this.twoNetworksToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.twoNetworksToolStripMenuItem.Text = "Two Networks"; + this.twoNetworksToolStripMenuItem.Click += new System.EventHandler(this.twoNetworksToolStripMenuItem_Click); + // + // threeNetworksToolStripMenuItem + // + this.threeNetworksToolStripMenuItem.Name = "threeNetworksToolStripMenuItem"; + this.threeNetworksToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.threeNetworksToolStripMenuItem.Text = "Three Networks"; + this.threeNetworksToolStripMenuItem.Click += new System.EventHandler(this.threeNetworksToolStripMenuItem_Click); + // + // firewallsToolStripMenuItem + // + this.firewallsToolStripMenuItem.Name = "firewallsToolStripMenuItem"; + this.firewallsToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.firewallsToolStripMenuItem.Text = "Firewalls"; + this.firewallsToolStripMenuItem.Click += new System.EventHandler(this.firewallsToolStripMenuItem_Click); + // + // toSolveToolStripMenuItem + // + this.toSolveToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.solvedDHCPToolStripMenuItem, + this.solvedOneNetworkToolStripMenuItem, + this.solvedTwoNetworksToolStripMenuItem, + this.SolvedThreeNetworksToolStripMenuItem, + this.firewallsToolStripMenuItem1}); + this.toSolveToolStripMenuItem.Name = "toSolveToolStripMenuItem"; + this.toSolveToolStripMenuItem.Size = new System.Drawing.Size(119, 22); + this.toSolveToolStripMenuItem.Text = "To Solve"; + // + // solvedDHCPToolStripMenuItem + // + this.solvedDHCPToolStripMenuItem.Name = "solvedDHCPToolStripMenuItem"; + this.solvedDHCPToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.solvedDHCPToolStripMenuItem.Text = "DHCP"; + this.solvedDHCPToolStripMenuItem.Click += new System.EventHandler(this.solvedDHCPToolStripMenuItem_Click); + // + // solvedOneNetworkToolStripMenuItem + // + this.solvedOneNetworkToolStripMenuItem.Name = "solvedOneNetworkToolStripMenuItem"; + this.solvedOneNetworkToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.solvedOneNetworkToolStripMenuItem.Text = "One Network"; + this.solvedOneNetworkToolStripMenuItem.Click += new System.EventHandler(this.solvedOneNetworkToolStripMenuItem_Click); + // + // solvedTwoNetworksToolStripMenuItem + // + this.solvedTwoNetworksToolStripMenuItem.Name = "solvedTwoNetworksToolStripMenuItem"; + this.solvedTwoNetworksToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.solvedTwoNetworksToolStripMenuItem.Text = "Two Networks"; + this.solvedTwoNetworksToolStripMenuItem.Click += new System.EventHandler(this.solvedTwoNetworksToolStripMenuItem_Click); + // + // SolvedThreeNetworksToolStripMenuItem + // + this.SolvedThreeNetworksToolStripMenuItem.Name = "SolvedThreeNetworksToolStripMenuItem"; + this.SolvedThreeNetworksToolStripMenuItem.Size = new System.Drawing.Size(157, 22); + this.SolvedThreeNetworksToolStripMenuItem.Text = "Three Networks"; + this.SolvedThreeNetworksToolStripMenuItem.Click += new System.EventHandler(this.SolvedThreeNetworksToolStripMenuItem_Click); + // + // firewallsToolStripMenuItem1 + // + this.firewallsToolStripMenuItem1.Name = "firewallsToolStripMenuItem1"; + this.firewallsToolStripMenuItem1.Size = new System.Drawing.Size(157, 22); + this.firewallsToolStripMenuItem1.Text = "Firewalls"; + this.firewallsToolStripMenuItem1.Click += new System.EventHandler(this.firewallsToolStripMenuItem1_Click); + // + // panelChoices + // + this.panelChoices.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.panelChoices.Location = new System.Drawing.Point(10, 25); + this.panelChoices.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.panelChoices.Name = "panelChoices"; + this.panelChoices.Size = new System.Drawing.Size(59, 300); + this.panelChoices.TabIndex = 2; + // + // lbMessages + // + this.lbMessages.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lbMessages.FormattingEnabled = true; + this.lbMessages.Location = new System.Drawing.Point(74, 331); + this.lbMessages.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.lbMessages.Name = "lbMessages"; + this.lbMessages.Size = new System.Drawing.Size(366, 43); + this.lbMessages.TabIndex = 3; + this.lbMessages.DoubleClick += new System.EventHandler(this.lbMessages_DoubleClick); + // + // lblStatus + // + this.lblStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblStatus.Location = new System.Drawing.Point(74, 374); + this.lblStatus.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(365, 14); + this.lblStatus.TabIndex = 4; + this.lblStatus.Text = "lblStatus"; + this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // pbNetworkView + // + this.pbNetworkView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pbNetworkView.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pbNetworkView.Location = new System.Drawing.Point(74, 25); + this.pbNetworkView.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.pbNetworkView.Name = "pbNetworkView"; + this.pbNetworkView.Size = new System.Drawing.Size(366, 300); + this.pbNetworkView.TabIndex = 1; + this.pbNetworkView.TabStop = false; + this.pbNetworkView.Paint += new System.Windows.Forms.PaintEventHandler(this.pbNetworkView_Paint); + this.pbNetworkView.DoubleClick += new System.EventHandler(this.pbNetworkView_DoubleClick); + this.pbNetworkView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseDown); + this.pbNetworkView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseMove); + this.pbNetworkView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pbNetworkView_MouseUp); + // + // btnHelp + // + this.btnHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnHelp.Location = new System.Drawing.Point(2, 2); + this.btnHelp.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnHelp.Name = "btnHelp"; + this.btnHelp.Size = new System.Drawing.Size(21, 20); + this.btnHelp.TabIndex = 5; + this.btnHelp.Text = "?"; + this.btnHelp.UseVisualStyleBackColor = true; + this.btnHelp.Click += new System.EventHandler(this.btnHelp_Click); + // + // rbHelp4 + // + this.rbHelp4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbHelp4.AutoSize = true; + this.rbHelp4.Location = new System.Drawing.Point(8, 28); + this.rbHelp4.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.rbHelp4.Name = "rbHelp4"; + this.rbHelp4.Size = new System.Drawing.Size(14, 13); + this.rbHelp4.TabIndex = 6; + this.rbHelp4.UseVisualStyleBackColor = true; + this.rbHelp4.CheckedChanged += new System.EventHandler(this.rbHelp4_CheckedChanged); + // + // rbHelp3 + // + this.rbHelp3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbHelp3.AutoSize = true; + this.rbHelp3.Location = new System.Drawing.Point(8, 44); + this.rbHelp3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.rbHelp3.Name = "rbHelp3"; + this.rbHelp3.Size = new System.Drawing.Size(14, 13); + this.rbHelp3.TabIndex = 7; + this.rbHelp3.UseVisualStyleBackColor = true; + this.rbHelp3.CheckedChanged += new System.EventHandler(this.rbHelp3_CheckedChanged); + // + // rbHelp2 + // + this.rbHelp2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbHelp2.AutoSize = true; + this.rbHelp2.Location = new System.Drawing.Point(8, 62); + this.rbHelp2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.rbHelp2.Name = "rbHelp2"; + this.rbHelp2.Size = new System.Drawing.Size(14, 13); + this.rbHelp2.TabIndex = 8; + this.rbHelp2.UseVisualStyleBackColor = true; + this.rbHelp2.CheckedChanged += new System.EventHandler(this.rbHelp2_CheckedChanged); + // + // rbHelp1 + // + this.rbHelp1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.rbHelp1.AutoSize = true; + this.rbHelp1.Checked = true; + this.rbHelp1.Location = new System.Drawing.Point(8, 80); + this.rbHelp1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.rbHelp1.Name = "rbHelp1"; + this.rbHelp1.Size = new System.Drawing.Size(14, 13); + this.rbHelp1.TabIndex = 9; + this.rbHelp1.TabStop = true; + this.rbHelp1.UseVisualStyleBackColor = true; + this.rbHelp1.CheckedChanged += new System.EventHandler(this.rbHelp1_CheckedChanged); + // + // HelpPanel + // + this.HelpPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.HelpPanel.Controls.Add(this.rbHelp4); + this.HelpPanel.Controls.Add(this.btnHelp); + this.HelpPanel.Controls.Add(this.rbHelp1); + this.HelpPanel.Controls.Add(this.rbHelp3); + this.HelpPanel.Controls.Add(this.rbHelp2); + this.HelpPanel.Location = new System.Drawing.Point(438, 25); + this.HelpPanel.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.HelpPanel.Name = "HelpPanel"; + this.HelpPanel.Size = new System.Drawing.Size(25, 98); + this.HelpPanel.TabIndex = 10; + // + // myProgressBar + // + this.myProgressBar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.myProgressBar.Location = new System.Drawing.Point(10, 330); + this.myProgressBar.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.myProgressBar.Name = "myProgressBar"; + this.myProgressBar.Size = new System.Drawing.Size(59, 19); + this.myProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous; + this.myProgressBar.TabIndex = 11; + // + // changeLanguageToolStripMenuItem + // + this.changeLanguageToolStripMenuItem.Name = "changeLanguageToolStripMenuItem"; + this.changeLanguageToolStripMenuItem.Size = new System.Drawing.Size(170, 22); + this.changeLanguageToolStripMenuItem.Text = "Change Language"; + this.changeLanguageToolStripMenuItem.Click += new System.EventHandler(this.changeLanguageToolStripMenuItem_Click); + // + // BuilderWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(463, 386); + this.Controls.Add(this.myProgressBar); + this.Controls.Add(this.lblStatus); + this.Controls.Add(this.lbMessages); + this.Controls.Add(this.panelChoices); + this.Controls.Add(this.pbNetworkView); + this.Controls.Add(this.msMainMenuStrip); + this.Controls.Add(this.HelpPanel); + this.Icon = global::EduNetworkBuilder.Properties.Resources.NBIco; + this.MainMenuStrip = this.msMainMenuStrip; + this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.Name = "BuilderWindow"; + this.Text = "Network Builder"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BuilderWindow_FormClosing); + this.Load += new System.EventHandler(this.BuilderWindow_Load); + this.ResizeEnd += new System.EventHandler(this.BuilderWindow_ResizeEnd); + this.Resize += new System.EventHandler(this.BuilderWindow_Resize); + this.msMainMenuStrip.ResumeLayout(false); + this.msMainMenuStrip.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbNetworkView)).EndInit(); + this.HelpPanel.ResumeLayout(false); + this.HelpPanel.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip msMainMenuStrip; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem; + private System.Windows.Forms.PictureBox pbNetworkView; + private System.Windows.Forms.Panel panelChoices; + private System.Windows.Forms.ListBox lbMessages; + private System.Windows.Forms.Label lblStatus; + private System.Windows.Forms.ToolStripMenuItem releaseNotesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reloadToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem allToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dHCPRequestToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clearArpTableToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clearIPsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem pingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem samplesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem solvedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem oneNetworkToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem twoNetworksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dHCPToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toSolveToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem solvedOneNetworkToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem solvedTwoNetworksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem solvedDHCPToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem threeNetworksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem SolvedThreeNetworksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; + private System.Windows.Forms.Button btnHelp; + private System.Windows.Forms.RadioButton rbHelp4; + private System.Windows.Forms.RadioButton rbHelp3; + private System.Windows.Forms.RadioButton rbHelp2; + private System.Windows.Forms.RadioButton rbHelp1; + private System.Windows.Forms.Panel HelpPanel; + private System.Windows.Forms.ToolStripMenuItem puzzlesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem firewallsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem firewallsToolStripMenuItem1; + private System.Windows.Forms.ProgressBar myProgressBar; + private System.Windows.Forms.ToolStripMenuItem changeLanguageToolStripMenuItem; + } +} + diff --git a/EduNetworkBuilder/NetworkBuilder.resx b/EduNetworkBuilder/NetworkBuilder.resx new file mode 100644 index 0000000..f7431fe --- /dev/null +++ b/EduNetworkBuilder/NetworkBuilder.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/EduNetworkBuilder/NetworkCardEditor.Designer.cs b/EduNetworkBuilder/NetworkCardEditor.Designer.cs new file mode 100644 index 0000000..3581eda --- /dev/null +++ b/EduNetworkBuilder/NetworkCardEditor.Designer.cs @@ -0,0 +1,170 @@ +namespace EduNetworkBuilder +{ + partial class NetworkCardEditor + { + /// + /// 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() + { + this.tbNicName = new System.Windows.Forms.TextBox(); + this.tbNicType = new System.Windows.Forms.TextBox(); + this.TBMacAddress = new System.Windows.Forms.TextBox(); + this.cbCanUseDHCP = new System.Windows.Forms.CheckBox(); + this.cbDHCP = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.btnDone = new System.Windows.Forms.Button(); + this.lblLinkStatus = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // tbNicName + // + this.tbNicName.Location = new System.Drawing.Point(131, 16); + this.tbNicName.Name = "tbNicName"; + this.tbNicName.Size = new System.Drawing.Size(159, 22); + this.tbNicName.TabIndex = 0; + // + // tbNicType + // + this.tbNicType.Location = new System.Drawing.Point(131, 44); + this.tbNicType.Name = "tbNicType"; + this.tbNicType.Size = new System.Drawing.Size(159, 22); + this.tbNicType.TabIndex = 1; + // + // TBMacAddress + // + this.TBMacAddress.Location = new System.Drawing.Point(131, 72); + this.TBMacAddress.Name = "TBMacAddress"; + this.TBMacAddress.Size = new System.Drawing.Size(159, 22); + this.TBMacAddress.TabIndex = 2; + // + // cbCanUseDHCP + // + this.cbCanUseDHCP.AutoSize = true; + this.cbCanUseDHCP.Location = new System.Drawing.Point(131, 100); + this.cbCanUseDHCP.Name = "cbCanUseDHCP"; + this.cbCanUseDHCP.Size = new System.Drawing.Size(124, 21); + this.cbCanUseDHCP.TabIndex = 3; + this.cbCanUseDHCP.Text = "Can use DHCP"; + this.cbCanUseDHCP.UseVisualStyleBackColor = true; + // + // cbDHCP + // + this.cbDHCP.AutoSize = true; + this.cbDHCP.Location = new System.Drawing.Point(131, 128); + this.cbDHCP.Name = "cbDHCP"; + this.cbDHCP.Size = new System.Drawing.Size(104, 21); + this.cbDHCP.TabIndex = 4; + this.cbDHCP.Text = "Uses DHCP"; + this.cbDHCP.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(56, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(69, 17); + this.label1.TabIndex = 5; + this.label1.Text = "Nic Name"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(61, 47); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(64, 17); + this.label2.TabIndex = 6; + this.label2.Text = "Nic Type"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(32, 75); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(93, 17); + this.label3.TabIndex = 7; + this.label3.Text = "MAC Address"; + // + // btnDone + // + this.btnDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnDone.Location = new System.Drawing.Point(215, 169); + this.btnDone.Name = "btnDone"; + this.btnDone.Size = new System.Drawing.Size(75, 23); + this.btnDone.TabIndex = 8; + this.btnDone.Text = "Done"; + this.btnDone.UseVisualStyleBackColor = true; + this.btnDone.Click += new System.EventHandler(this.btnDone_Click); + // + // lblLinkStatus + // + this.lblLinkStatus.AutoSize = true; + this.lblLinkStatus.Location = new System.Drawing.Point(32, 169); + this.lblLinkStatus.Name = "lblLinkStatus"; + this.lblLinkStatus.Size = new System.Drawing.Size(74, 17); + this.lblLinkStatus.TabIndex = 9; + this.lblLinkStatus.Text = "LinkStatus"; + // + // NetworkCardEditor + // + this.AcceptButton = this.btnDone; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.ClientSize = new System.Drawing.Size(302, 204); + this.Controls.Add(this.lblLinkStatus); + this.Controls.Add(this.btnDone); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.cbDHCP); + this.Controls.Add(this.cbCanUseDHCP); + this.Controls.Add(this.TBMacAddress); + this.Controls.Add(this.tbNicType); + this.Controls.Add(this.tbNicName); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = global::EduNetworkBuilder.Properties.Resources.NBIco; + this.Name = "NetworkCardEditor"; + this.Text = "NetworkCardEditor"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox tbNicName; + private System.Windows.Forms.TextBox tbNicType; + private System.Windows.Forms.TextBox TBMacAddress; + private System.Windows.Forms.CheckBox cbCanUseDHCP; + private System.Windows.Forms.CheckBox cbDHCP; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Button btnDone; + private System.Windows.Forms.Label lblLinkStatus; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/NetworkComponent.cs b/EduNetworkBuilder/NetworkComponent.cs new file mode 100644 index 0000000..02b43a7 --- /dev/null +++ b/EduNetworkBuilder/NetworkComponent.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using System.Runtime.Serialization.Formatters.Binary; +using System.Runtime.Serialization; +using System.IO; +using System.Xml; + + +namespace EduNetworkBuilder +{ + [Serializable] + public class NetworkComponent + { + public bool IsDirty = true; //If something has changed and it needs to be re-drawn. It starts as "true" + protected int UniqueIdentifier = NB.GetUniqueIdentifier(); + public string hostname = ""; + + + public virtual void Print(Image BaseImage, bool DrawTitle) + { + } + + public virtual bool HasMac(string MAC) + { + return false; + } + + public virtual void ProcessPacket(Packet tPacket) + { + + } + + public virtual void Destroy() + { + //This really does nothing. But the link will trigger some stuff needing to be done + } + + public virtual List arp(UInt32 IP) + { + List arps = new List(); + return arps; //links have no MAC addresses + } + + public virtual void Save(XmlWriter writer) + { + } + + public virtual void Load(XmlNode theNode) + { + } + + public virtual void UpdateFromComponent(NetworkComponent CopyFrom) + { + + } + + public virtual void DoProcessing(Packet tPacket) + { + } + + public virtual void DoMoving(Packet tPacket) + { + } + + public virtual void DoInput(Packet tPacket) + { + + } + + public virtual void DoOutput(Packet tPacket) + { + + } + + public int GetUniqueIdentifier + { + get { return UniqueIdentifier; } + } + + public static T Clone(T source) + { + if (!typeof(T).IsSerializable) + { + throw new ArgumentException("The type must be serializable.", "source"); + } + + // Don't serialize a null object, simply return the default for that object + if (Object.ReferenceEquals(source, null)) + { + return default(T); + } + + IFormatter formatter = new BinaryFormatter(); + Stream stream = new MemoryStream(); + using (stream) + { + formatter.Serialize(stream, source); + stream.Seek(0, SeekOrigin.Begin); + return (T)formatter.Deserialize(stream); + } + } + + } +} diff --git a/EduNetworkBuilder/NetworkInterface.cs b/EduNetworkBuilder/NetworkInterface.cs new file mode 100644 index 0000000..0022461 --- /dev/null +++ b/EduNetworkBuilder/NetworkInterface.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Text.RegularExpressions; + +namespace EduNetworkBuilder +{ + [Serializable] + public class NetworkInterface + { + public IPAddress myIP; + public string nic_name; //eth0, eth0:0, etc + public HostNicID AttachedToHostNic; + //We should have a feature: none, IP_in_IP_Tunnel, encrypted_vpn, vlan, etc + public NetworkInterface(string name, string IP, string Mask, HostNicID AttachedTo) + { + nic_name = name; + myIP = new IPAddress(IP, Mask,IPAddressType.ip); + AttachedToHostNic = AttachedTo; + } + + public NetworkInterface(XmlNode theNode, HostNicID AttachedTo) + { + AttachedToHostNic = AttachedTo; + foreach (XmlNode Individual in theNode.ChildNodes) + { + XmlNodeType myNodetype = Individual.NodeType; + if (myNodetype == XmlNodeType.Element) + { + switch (Individual.Name.ToLower()) + { + case "myip": + myIP = new IPAddress(Individual); + break; + case "nicname": + nic_name = Individual.InnerText; + break; + } + } + } + } + + public void Save(XmlWriter writer) + { + writer.WriteStartElement("interface"); + writer.WriteElementString("nicname", nic_name); + myIP.Save(writer, "myip"); + writer.WriteEndElement(); + } + + public string InterfaceString(bool UseCidr = false) + { + string tstring = myIP.GetIP.ToIpString(); + if (!UseCidr) + { + tstring += " - " + myIP.GetMask.ToIpString(); + } + else + { + string mask = myIP.GetMask.ToBitString(); + mask = Regex.Replace(mask, "0", ""); + int count = mask.Length; + tstring += "/" + count.ToString(); + } + return tstring; + } + + public string RouteString(string nic_name, string GW) + { + string tstring = myIP.IPFormat(GW); ; + return tstring; + } + + /// + /// Pop up a window to edit this address. + /// + public void EditAddress() + { + Network myNet = NB.GetNetwork(); + NetworkDevice ND = myNet.GetDeviceFromID(AttachedToHostNic); + IPAddressEntry ipe = new IPAddressEntry(myIP,ND); + ipe.ShowDialog(); + } + public bool isLocal(IPAddress tIp) + { + if (tIp == null) return false; + if (myIP.IsLocal(tIp)) + return true; + return false; + } + + /// + /// We are sending the packet out this interface. + /// + /// + public void ProcessOutboundPacket(Packet tPacket) + { + if (tPacket.sourceIP == null || tPacket.sourceIP.GetIP.ToIpString() == NB.ZeroIPString) + { + //This happens if we are starting a new packet. We should also do this if we are masquerading. + tPacket.sourceIP = new IPAddress(myIP.GetIP.ToIpString(), "", IPAddressType.ip_only); //We only want the IP address + } + } + + public void ProcessInboundPacket(Packet tPacket) + { + bool isgood = false; + if (tPacket.destIP != null && tPacket.destIP.GetIP == myIP.GetIP) isgood = true; + if (tPacket.destIP != null && myIP.IsLocal(tPacket.destIP)) isgood = true; + if (myIP.NetworkAddress == myIP.GetIP) isgood = true; + + if(isgood) + { + //anything we should do here? + //Mainly vlan if we are a vlan. + } + + } + } +} diff --git a/EduNetworkBuilder/OptionsWindow.Designer.cs b/EduNetworkBuilder/OptionsWindow.Designer.cs new file mode 100644 index 0000000..e0d69c5 --- /dev/null +++ b/EduNetworkBuilder/OptionsWindow.Designer.cs @@ -0,0 +1,296 @@ +namespace EduNetworkBuilder +{ + partial class OptionsWindow + { + /// + /// 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() + { + this.btnDone = new System.Windows.Forms.Button(); + this.lblNetTitle = new System.Windows.Forms.Label(); + this.tbNetworkTitle = new System.Windows.Forms.TextBox(); + this.cbDisplayTitles = new System.Windows.Forms.CheckBox(); + this.lblNetSize = new System.Windows.Forms.Label(); + this.tbNetworkX = new System.Windows.Forms.TextBox(); + this.tbNetworkY = new System.Windows.Forms.TextBox(); + this.tbItemSize = new System.Windows.Forms.TextBox(); + this.lblItemSize = new System.Windows.Forms.Label(); + this.tbMessage = new System.Windows.Forms.TextBox(); + this.lblNetMessage = new System.Windows.Forms.Label(); + this.lbTests = new System.Windows.Forms.ListBox(); + this.lblTests = new System.Windows.Forms.Label(); + this.lblTags = new System.Windows.Forms.Label(); + this.lbTags = new System.Windows.Forms.ListBox(); + this.tbLevel = new System.Windows.Forms.TextBox(); + this.tbSortOrder = new System.Windows.Forms.TextBox(); + this.lblLevel = new System.Windows.Forms.Label(); + this.lblSortOrder = new System.Windows.Forms.Label(); + this.cbStartingHelpLevel = new System.Windows.Forms.ComboBox(); + this.lblStartingHelp = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // btnDone + // + this.btnDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnDone.Location = new System.Drawing.Point(755, 275); + this.btnDone.Name = "btnDone"; + this.btnDone.Size = new System.Drawing.Size(75, 23); + this.btnDone.TabIndex = 0; + this.btnDone.Text = "Done"; + this.btnDone.UseVisualStyleBackColor = true; + this.btnDone.Click += new System.EventHandler(this.btnDone_Click); + // + // lblNetTitle + // + this.lblNetTitle.AutoSize = true; + this.lblNetTitle.Location = new System.Drawing.Point(23, 19); + this.lblNetTitle.Name = "lblNetTitle"; + this.lblNetTitle.Size = new System.Drawing.Size(61, 17); + this.lblNetTitle.TabIndex = 1; + this.lblNetTitle.Text = "Net Title"; + // + // tbNetworkTitle + // + this.tbNetworkTitle.Location = new System.Drawing.Point(184, 13); + this.tbNetworkTitle.Name = "tbNetworkTitle"; + this.tbNetworkTitle.Size = new System.Drawing.Size(306, 22); + this.tbNetworkTitle.TabIndex = 2; + // + // cbDisplayTitles + // + this.cbDisplayTitles.AutoSize = true; + this.cbDisplayTitles.Location = new System.Drawing.Point(184, 44); + this.cbDisplayTitles.Name = "cbDisplayTitles"; + this.cbDisplayTitles.Size = new System.Drawing.Size(114, 21); + this.cbDisplayTitles.TabIndex = 3; + this.cbDisplayTitles.Text = "Display Titles"; + this.cbDisplayTitles.UseVisualStyleBackColor = true; + // + // lblNetSize + // + this.lblNetSize.AutoSize = true; + this.lblNetSize.Location = new System.Drawing.Point(23, 72); + this.lblNetSize.Name = "lblNetSize"; + this.lblNetSize.Size = new System.Drawing.Size(121, 17); + this.lblNetSize.TabIndex = 4; + this.lblNetSize.Text = "Network Size (x,y)"; + // + // tbNetworkX + // + this.tbNetworkX.Location = new System.Drawing.Point(184, 69); + this.tbNetworkX.Name = "tbNetworkX"; + this.tbNetworkX.Size = new System.Drawing.Size(151, 22); + this.tbNetworkX.TabIndex = 5; + // + // tbNetworkY + // + this.tbNetworkY.Location = new System.Drawing.Point(341, 69); + this.tbNetworkY.Name = "tbNetworkY"; + this.tbNetworkY.Size = new System.Drawing.Size(149, 22); + this.tbNetworkY.TabIndex = 6; + // + // tbItemSize + // + this.tbItemSize.Location = new System.Drawing.Point(184, 100); + this.tbItemSize.Name = "tbItemSize"; + this.tbItemSize.Size = new System.Drawing.Size(151, 22); + this.tbItemSize.TabIndex = 8; + // + // lblItemSize + // + this.lblItemSize.AutoSize = true; + this.lblItemSize.Location = new System.Drawing.Point(23, 103); + this.lblItemSize.Name = "lblItemSize"; + this.lblItemSize.Size = new System.Drawing.Size(61, 17); + this.lblItemSize.TabIndex = 7; + this.lblItemSize.Text = "ItemSize"; + // + // tbMessage + // + this.tbMessage.Location = new System.Drawing.Point(184, 128); + this.tbMessage.Multiline = true; + this.tbMessage.Name = "tbMessage"; + this.tbMessage.Size = new System.Drawing.Size(306, 60); + this.tbMessage.TabIndex = 9; + // + // lblNetMessage + // + this.lblNetMessage.Location = new System.Drawing.Point(29, 136); + this.lblNetMessage.Name = "lblNetMessage"; + this.lblNetMessage.Size = new System.Drawing.Size(149, 41); + this.lblNetMessage.TabIndex = 10; + this.lblNetMessage.Text = "Message given when network loaded"; + // + // lbTests + // + this.lbTests.FormattingEnabled = true; + this.lbTests.ItemHeight = 16; + this.lbTests.Location = new System.Drawing.Point(185, 201); + this.lbTests.Name = "lbTests"; + this.lbTests.Size = new System.Drawing.Size(304, 100); + this.lbTests.TabIndex = 11; + this.lbTests.MouseClick += new System.Windows.Forms.MouseEventHandler(this.lbTests_MouseClick); + this.lbTests.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lbTests_MouseDoubleClick); + this.lbTests.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lbTests_MouseDown); + // + // lblTests + // + this.lblTests.AutoSize = true; + this.lblTests.Location = new System.Drawing.Point(29, 201); + this.lblTests.Name = "lblTests"; + this.lblTests.Size = new System.Drawing.Size(127, 17); + this.lblTests.TabIndex = 12; + this.lblTests.Text = "Tests (for Puzzles)"; + // + // lblTags + // + this.lblTags.AutoSize = true; + this.lblTags.Location = new System.Drawing.Point(516, 13); + this.lblTags.Name = "lblTags"; + this.lblTags.Size = new System.Drawing.Size(107, 17); + this.lblTags.TabIndex = 14; + this.lblTags.Text = "Tags for Puzzle"; + // + // lbTags + // + this.lbTags.FormattingEnabled = true; + this.lbTags.ItemHeight = 16; + this.lbTags.Location = new System.Drawing.Point(672, 13); + this.lbTags.Name = "lbTags"; + this.lbTags.Size = new System.Drawing.Size(151, 100); + this.lbTags.TabIndex = 13; + this.lbTags.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lbTags_MouseDoubleClick); + this.lbTags.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lbTags_MouseDown); + // + // tbLevel + // + this.tbLevel.Location = new System.Drawing.Point(672, 119); + this.tbLevel.Name = "tbLevel"; + this.tbLevel.Size = new System.Drawing.Size(70, 22); + this.tbLevel.TabIndex = 15; + this.tbLevel.Validating += new System.ComponentModel.CancelEventHandler(this.tbLevel_Validating); + // + // tbSortOrder + // + this.tbSortOrder.Location = new System.Drawing.Point(672, 147); + this.tbSortOrder.Name = "tbSortOrder"; + this.tbSortOrder.Size = new System.Drawing.Size(70, 22); + this.tbSortOrder.TabIndex = 16; + this.tbSortOrder.Validating += new System.ComponentModel.CancelEventHandler(this.tbSortOrder_Validating); + // + // lblLevel + // + this.lblLevel.AutoSize = true; + this.lblLevel.Location = new System.Drawing.Point(624, 122); + this.lblLevel.Name = "lblLevel"; + this.lblLevel.Size = new System.Drawing.Size(42, 17); + this.lblLevel.TabIndex = 17; + this.lblLevel.Text = "Level"; + // + // lblSortOrder + // + this.lblSortOrder.AutoSize = true; + this.lblSortOrder.Location = new System.Drawing.Point(591, 150); + this.lblSortOrder.Name = "lblSortOrder"; + this.lblSortOrder.Size = new System.Drawing.Size(75, 17); + this.lblSortOrder.TabIndex = 18; + this.lblSortOrder.Text = "Sort Order"; + // + // cbStartingHelpLevel + // + this.cbStartingHelpLevel.FormattingEnabled = true; + this.cbStartingHelpLevel.Location = new System.Drawing.Point(672, 175); + this.cbStartingHelpLevel.Name = "cbStartingHelpLevel"; + this.cbStartingHelpLevel.Size = new System.Drawing.Size(121, 24); + this.cbStartingHelpLevel.TabIndex = 19; + // + // lblStartingHelp + // + this.lblStartingHelp.AutoSize = true; + this.lblStartingHelp.Location = new System.Drawing.Point(538, 178); + this.lblStartingHelp.Name = "lblStartingHelp"; + this.lblStartingHelp.Size = new System.Drawing.Size(128, 17); + this.lblStartingHelp.TabIndex = 20; + this.lblStartingHelp.Text = "Starting Help Level"; + // + // OptionsWindow + // + this.AcceptButton = this.btnDone; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(836, 307); + this.Controls.Add(this.lblStartingHelp); + this.Controls.Add(this.cbStartingHelpLevel); + this.Controls.Add(this.lblSortOrder); + this.Controls.Add(this.lblLevel); + this.Controls.Add(this.tbSortOrder); + this.Controls.Add(this.tbLevel); + this.Controls.Add(this.lblTags); + this.Controls.Add(this.lbTags); + this.Controls.Add(this.lblTests); + this.Controls.Add(this.lbTests); + this.Controls.Add(this.lblNetMessage); + this.Controls.Add(this.tbMessage); + this.Controls.Add(this.tbItemSize); + this.Controls.Add(this.lblItemSize); + this.Controls.Add(this.tbNetworkY); + this.Controls.Add(this.tbNetworkX); + this.Controls.Add(this.lblNetSize); + this.Controls.Add(this.cbDisplayTitles); + this.Controls.Add(this.tbNetworkTitle); + this.Controls.Add(this.lblNetTitle); + this.Controls.Add(this.btnDone); + this.Name = "OptionsWindow"; + this.Text = "OptionsWindow"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btnDone; + private System.Windows.Forms.Label lblNetTitle; + private System.Windows.Forms.TextBox tbNetworkTitle; + private System.Windows.Forms.CheckBox cbDisplayTitles; + private System.Windows.Forms.Label lblNetSize; + private System.Windows.Forms.TextBox tbNetworkX; + private System.Windows.Forms.TextBox tbNetworkY; + private System.Windows.Forms.TextBox tbItemSize; + private System.Windows.Forms.Label lblItemSize; + private System.Windows.Forms.TextBox tbMessage; + private System.Windows.Forms.Label lblNetMessage; + private System.Windows.Forms.ListBox lbTests; + private System.Windows.Forms.Label lblTests; + private System.Windows.Forms.Label lblTags; + private System.Windows.Forms.ListBox lbTags; + private System.Windows.Forms.TextBox tbLevel; + private System.Windows.Forms.TextBox tbSortOrder; + private System.Windows.Forms.Label lblLevel; + private System.Windows.Forms.Label lblSortOrder; + private System.Windows.Forms.ComboBox cbStartingHelpLevel; + private System.Windows.Forms.Label lblStartingHelp; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/OptionsWindow.resx b/EduNetworkBuilder/OptionsWindow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/EduNetworkBuilder/OptionsWindow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/Program.cs b/EduNetworkBuilder/Program.cs new file mode 100644 index 0000000..7c20a4b --- /dev/null +++ b/EduNetworkBuilder/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace EduNetworkBuilder +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new BuilderWindow()); + } + } +} diff --git a/EduNetworkBuilder/Properties/AssemblyInfo.cs b/EduNetworkBuilder/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..bbe552c --- /dev/null +++ b/EduNetworkBuilder/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("EduNetworkBuilder")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("EduNetworkBuilder")] +[assembly: AssemblyCopyright("Copyright © 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("a1a9afe4-d6c0-473f-8504-980377d3d2b7")] + +// 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/EduNetworkBuilder/Properties/Resources.Designer.cs b/EduNetworkBuilder/Properties/Resources.Designer.cs new file mode 100644 index 0000000..bc02418 --- /dev/null +++ b/EduNetworkBuilder/Properties/Resources.Designer.cs @@ -0,0 +1,788 @@ +//------------------------------------------------------------------------------ +// +// 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 EduNetworkBuilder.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("EduNetworkBuilder.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 string similar to {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}} + ///{\colortbl ;\red0\green0\blue255;} + ///{\*\generator Riched20 6.3.9600}\viewkind4\uc1 + ///\pard\sa200\sl276\slmult1\f0\fs22\lang9 About EduNetworkBuilder\par + ///Written by Tim Young\par + ///{{\field{\*\fldinst{HYPERLINK http://tyounglightsys.ddns.info/EduNetworkBuilder }}{\fldrslt{http://tyounglightsys.ddns.info/EduNetworkBuilder\ul0\cf0}}}}\f0\fs22\par + ///This program was inspired by all the people I met in Africa who had a di [rest of string was truncated]";. + /// + internal static string about { + get { + return ResourceManager.GetString("about", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Copier { + get { + object obj = ResourceManager.GetObject("Copier", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] DHCP { + get { + object obj = ResourceManager.GetObject("DHCP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap firewall { + get { + object obj = ResourceManager.GetObject("firewall", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] firewalls { + get { + object obj = ResourceManager.GetObject("firewalls", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized string similar to {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\fmodern\fprq1\fcharset0 Consolas;}{\f2\fnil\fcharset0 Calibri;}} + ///{\colortbl ;\red0\green0\blue255;} + ///{\*\generator Riched20 6.3.9600}\viewkind4\uc1 + ///\pard\widctlpar\sa200\sl276\slmult1\f0\fs22\lang9 This is a basic help document for EduNetworkBuilder\par + ///\b Overview\par + ///\b0 EduNetworkBuilder is meant to represent fairly truthfully how a network functions while removing the complexity of configuration. [rest of string was truncated]";. + /// + internal static string Help { + get { + return ResourceManager.GetString("Help", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Hub { + get { + object obj = ResourceManager.GetObject("Hub", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ip_phone { + get { + object obj = ResourceManager.GetObject("ip_phone", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Laptop { + get { + object obj = ResourceManager.GetObject("Laptop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_BrokenLink { + get { + object obj = ResourceManager.GetObject("Level0_BrokenLink", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_Help { + get { + object obj = ResourceManager.GetObject("Level0_Help", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_HubVsSwitch { + get { + object obj = ResourceManager.GetObject("Level0_HubVsSwitch", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_IP { + get { + object obj = ResourceManager.GetObject("Level0_IP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_NeedsLink { + get { + object obj = ResourceManager.GetObject("Level0_NeedsLink", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_NetworkLoop { + get { + object obj = ResourceManager.GetObject("Level0_NetworkLoop", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_NetworkLoop2 { + get { + object obj = ResourceManager.GetObject("Level0_NetworkLoop2", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_NoSwitch { + get { + object obj = ResourceManager.GetObject("Level0_NoSwitch", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_Ping { + get { + object obj = ResourceManager.GetObject("Level0_Ping", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level0_SimpleDHCP { + get { + object obj = ResourceManager.GetObject("Level0_SimpleDHCP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_BadDHCP { + get { + object obj = ResourceManager.GetObject("Level1_BadDHCP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_BadGateway { + get { + object obj = ResourceManager.GetObject("Level1_BadGateway", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_BadIP { + get { + object obj = ResourceManager.GetObject("Level1_BadIP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_DuplicateIPs { + get { + object obj = ResourceManager.GetObject("Level1_DuplicateIPs", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_DuplicateMAC { + get { + object obj = ResourceManager.GetObject("Level1_DuplicateMAC", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_MidDHCP { + get { + object obj = ResourceManager.GetObject("Level1_MidDHCP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_MixedNetwork { + get { + object obj = ResourceManager.GetObject("Level1_MixedNetwork", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_NoGateway { + get { + object obj = ResourceManager.GetObject("Level1_NoGateway", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_OneNetTwoSubnets { + get { + object obj = ResourceManager.GetObject("Level1_OneNetTwoSubnets", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level1_OneNetTwoSubnets2 { + get { + object obj = ResourceManager.GetObject("Level1_OneNetTwoSubnets2", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Bad_Encryption { + get { + object obj = ResourceManager.GetObject("Level2_Bad_Encryption", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Bad_Route { + get { + object obj = ResourceManager.GetObject("Level2_Bad_Route", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Bad_VPN_IP { + get { + object obj = ResourceManager.GetObject("Level2_Bad_VPN_IP", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Blast_From_Past { + get { + object obj = ResourceManager.GetObject("Level2_Blast_From_Past", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Build_A_VPN { + get { + object obj = ResourceManager.GetObject("Level2_Build_A_VPN", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Connect_The_Dots { + get { + object obj = ResourceManager.GetObject("Level2_Connect_The_Dots", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_FirewallDemo { + get { + object obj = ResourceManager.GetObject("Level2_FirewallDemo", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_Not_Working { + get { + object obj = ResourceManager.GetObject("Level2_Not_Working", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level2_VPN_Demo { + get { + object obj = ResourceManager.GetObject("Level2_VPN_Demo", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_BlackHole { + get { + object obj = ResourceManager.GetObject("Level3_BlackHole", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_Busted { + get { + object obj = ResourceManager.GetObject("Level3_Busted", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_Dead { + get { + object obj = ResourceManager.GetObject("Level3_Dead", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_EncryptionTroubles { + get { + object obj = ResourceManager.GetObject("Level3_EncryptionTroubles", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_GrandCentralStation { + get { + object obj = ResourceManager.GetObject("Level3_GrandCentralStation", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_Middle_Man_Out { + get { + object obj = ResourceManager.GetObject("Level3_Middle_Man_Out", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_NowhereToGo { + get { + object obj = ResourceManager.GetObject("Level3_NowhereToGo", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_PhoneyNetwork { + get { + object obj = ResourceManager.GetObject("Level3_PhoneyNetwork", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level3_VPNify { + get { + object obj = ResourceManager.GetObject("Level3_VPNify", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_DualWans { + get { + object obj = ResourceManager.GetObject("Level4_DualWans", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_Internalhemorrhage { + get { + object obj = ResourceManager.GetObject("Level4_Internalhemorrhage", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_InternalSubnetting { + get { + object obj = ResourceManager.GetObject("Level4_InternalSubnetting", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_OneRoute { + get { + object obj = ResourceManager.GetObject("Level4_OneRoute", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_RouterReplacement { + get { + object obj = ResourceManager.GetObject("Level4_RouterReplacement", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_SinglesLife { + get { + object obj = ResourceManager.GetObject("Level4_SinglesLife", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Level4_SmallSubnets { + get { + object obj = ResourceManager.GetObject("Level4_SmallSubnets", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap link { + get { + object obj = ResourceManager.GetObject("link", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon NBIco { + get { + object obj = ResourceManager.GetObject("NBIco", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] OneNet { + get { + object obj = ResourceManager.GetObject("OneNet", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap PC { + get { + object obj = ResourceManager.GetObject("PC", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Printer { + get { + object obj = ResourceManager.GetObject("Printer", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}} + ///{\*\generator Riched20 6.3.9600}\viewkind4\uc1 + ///\pard\sa200\sl276\slmult1\f0\fs22\lang9 Version 1.0.16 \par + ///* Added ability to break links (bad network wire)\par + ///* Test for "needs link to" does not succeed if the link in question is a broken link\par + ///* Added a puzzle to show you how to find broken links \par + ///Version 1.0.15 07/11/2015\par + ///* Added ping time progress bar\par + ///* Fixed issue with things timing ou [rest of string was truncated]";. + /// + internal static string ReleaseNotes { + get { + return ResourceManager.GetString("ReleaseNotes", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Router { + get { + object obj = ResourceManager.GetObject("Router", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap select { + get { + object obj = ResourceManager.GetObject("select", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Server { + get { + object obj = ResourceManager.GetObject("Server", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Switch { + get { + object obj = ResourceManager.GetObject("Switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] ThreeNets { + get { + object obj = ResourceManager.GetObject("ThreeNets", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] TwoNets { + get { + object obj = ResourceManager.GetObject("TwoNets", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap wap { + get { + object obj = ResourceManager.GetObject("wap", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream wavBellDing { + get { + return ResourceManager.GetStream("wavBellDing", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap WBridge { + get { + object obj = ResourceManager.GetObject("WBridge", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap WRepeater { + get { + object obj = ResourceManager.GetObject("WRepeater", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap WRouter { + get { + object obj = ResourceManager.GetObject("WRouter", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/EduNetworkBuilder/Properties/Resources.resx b/EduNetworkBuilder/Properties/Resources.resx new file mode 100644 index 0000000..b368762 --- /dev/null +++ b/EduNetworkBuilder/Properties/Resources.resx @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\PC.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Router.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\select.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Switch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Hub.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Laptop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Server.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\about.rtf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\Help.rtf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\ReleaseNotes.rtf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\NBIco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\firewall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ip_phone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\DHCP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\OneNet.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\ThreeNets.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\TwoNets.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\wap.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Level0-Help.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-HubVsSwitch.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-IP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-NeedsLink.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-NoSwitch.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-Ping.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0-SimpleDHCP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-BadDHCP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-BadIP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-MidDHCP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-MixedNetwork.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-NoGateway.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1_OneNetTwoSubnets.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0_NetworkLoop.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1-DuplicateIPs.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1_DuplicateMAC.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1_OneNetTwoSubnets2.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_FirewallDemo.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\BellDing.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\firewalls.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Bad_Encryption.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Bad_Route.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Bad_VPN_IP.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_VPN_Demo.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Blast_From_Past.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Build_A_VPN.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Connect_The_Dots.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level2_Not_Working.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_BlackHole.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_Busted.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_Middle_Man_Out.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_NowhereToGo.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_PhoneyNetwork.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_VPNify.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_Dead.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_GrandCentralStation.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level1_BadGateway.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_DualWans.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_OneRoute.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_RouterReplacement.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_SinglesLife.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_SmallSubnets.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Copier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Printer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Level4_Internalhemorrhage.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level4_InternelSubnetting.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level0_NetworkLoop2.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\WBridge.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\WRepeater.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\WRouter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Level0_BrokenLink.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Level3_EncryptionTroubles.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EduNetworkBuilder/Properties/Settings.Designer.cs b/EduNetworkBuilder/Properties/Settings.Designer.cs new file mode 100644 index 0000000..a47cf45 --- /dev/null +++ b/EduNetworkBuilder/Properties/Settings.Designer.cs @@ -0,0 +1,85 @@ +//------------------------------------------------------------------------------ +// +// 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 EduNetworkBuilder.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string LastPath { + get { + return ((string)(this["LastPath"])); + } + set { + this["LastPath"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Collections.Specialized.StringCollection ScoreList { + get { + return ((global::System.Collections.Specialized.StringCollection)(this["ScoreList"])); + } + set { + this["ScoreList"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoStartPuzzles { + get { + return ((bool)(this["AutoStartPuzzles"])); + } + set { + this["AutoStartPuzzles"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("en")] + public string ChosenLanguage { + get { + return ((string)(this["ChosenLanguage"])); + } + set { + this["ChosenLanguage"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool LanguageHasBeenChosen { + get { + return ((bool)(this["LanguageHasBeenChosen"])); + } + set { + this["LanguageHasBeenChosen"] = value; + } + } + } +} diff --git a/EduNetworkBuilder/Properties/Settings.settings b/EduNetworkBuilder/Properties/Settings.settings new file mode 100644 index 0000000..1c470e6 --- /dev/null +++ b/EduNetworkBuilder/Properties/Settings.settings @@ -0,0 +1,21 @@ + + + + + + + + + + + + True + + + en + + + False + + + \ No newline at end of file diff --git a/EduNetworkBuilder/RTFWindow.Designer.cs b/EduNetworkBuilder/RTFWindow.Designer.cs new file mode 100644 index 0000000..31eafbf --- /dev/null +++ b/EduNetworkBuilder/RTFWindow.Designer.cs @@ -0,0 +1,79 @@ +namespace EduNetworkBuilder +{ + partial class RTFWindow + { + /// + /// 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(RTFWindow)); + this.rtbContent = new System.Windows.Forms.RichTextBox(); + this.btnOK = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // rtbContent + // + this.rtbContent.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.rtbContent.Location = new System.Drawing.Point(34, 13); + this.rtbContent.Name = "rtbContent"; + this.rtbContent.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; + this.rtbContent.Size = new System.Drawing.Size(358, 249); + this.rtbContent.TabIndex = 0; + this.rtbContent.Text = ""; + // + // btnOK + // + this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOK.Location = new System.Drawing.Point(317, 271); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 1; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // RTFWindow + // + this.AcceptButton = this.btnOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(427, 306); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.rtbContent); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "RTFWindow"; + this.Text = "RTFWindow"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.RichTextBox rtbContent; + private System.Windows.Forms.Button btnOK; + } +} \ No newline at end of file diff --git a/EduNetworkBuilder/RTFWindow.resx b/EduNetworkBuilder/RTFWindow.resx new file mode 100644 index 0000000..19d58c5 --- /dev/null +++ b/EduNetworkBuilder/RTFWindow.resx @@ -0,0 +1,827 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAZWQAAAEAIAA4pAAAFgAAACgAAABlAAAAyAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjDizSI0As0iNsLNIjlCzSI7Us0iPSLNIj6CzSI/os0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/Is0iPeLNIjxCzSI6Us0iOBLNIjVizSIygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIyos0iNzLNIjtyzS + I/Us0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPWLNIjlyzSI04s0iMDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjRyzSI6Ys0iP6LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iPPLNIjdyzSIxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMsLNIjnizS + I/4s0iP/LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI9Is0iNmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iNWLNIj1yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/izSI/8s0iP/LNIjlyzSIxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAs0iNqLNIj8yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/O6s1/1W3 + UP871TP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI7Is0iMdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4f///////////////////////////// + ///////////////////////////////////////////////////x8fH/srKy//////////////////// + ///////////////////////////////////////////////////////////////////Q9c7/WdtS/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izS + I/8s0iOmLNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAs0iMjnuqa6v////+ZjIn/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/7qxr/9dVlT/wLi2/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+zh3v/////////////////0PXO/1nbUv8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjfQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjjCzS + I/+V6JH+/////z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Tzk0/0s+Ov9lVVL/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/6dXQv8/JyH/n5OQ/////////////////9D1zv9Y21H/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj6izSIywAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjIizSI+ws0iP/LNIj/5XokP//////Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9MNjD/a11a/1hK + Rv9bR0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/p1dC/z8n + If8/JyH/Pych/5+TkP////////////////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj/yzSI4kAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI3Es0iP/LNIj/izSI/8s0iP/leiQ//////8/JyH/Pych/182K/+oV0L/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+7hXf/YjQo/8yekv+xa1j/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/plZB/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/z8n + If/c2Nb///////7+/v//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y7S + Jf9o3mH/SrdE/zvVM/8s0iP/LNIj/yzSI90s0iMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iOsLNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/i0o5/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/TDYw/2NVUv8jFhL/NSck/5CCf/9WQTv/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf+1XUb/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9pVlH/1dDP//// + ///+/v7//////1LaSv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/S9hD/2bEYf9bulb/QNY4/yzS + I/8s0iP/LNIj/izSI/ss0iM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMKLNIj4yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9ROzX/TUA8/1RGQ/9aTEn/OSso/4x+e/9WQTv/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/7tg + SP8/JyH/p1dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/aVZR/9bRz////////////9D1 + zv9Z21L/LNIj/yzSI/8s0iP/LNIj/yzSI/954nT/K4km/23fZ/8u0iX/LNIj/yzSI/8s0iP/LNIj/izS + I/8s0iNrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjEyzSI/Es0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4pK + Of9TMCf/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/7RwXv99T0P/xpiM/3tN + Qv/Imo7/b0E1/8CShv+0cF7/qFhE/6dXQv+nV0L/p1dC/6dXQv+uWkT/tV1G/z8nIf+nV0L/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/5+TkP/////////////////Z99j/q+yo/5zp + l/8s0iP/Z95h/0imQ/9y023/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOGAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIxcs0iP3LNIj/izS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/iko5/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/gHBs/0w+O/+IeXX/Kx0a/4x+ev+Mfnv/MiUh/2VY + VP96aWX/SjQu/z8nIf8/JyH/Pych/z8nIf+7YEj/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+fk5D///////7+/v/7/P3//v7+/9v32f962nT/O5k1/2fe + Yf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOUAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMWLNIj+SzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/0w2MP9uYF3/ZFZT/11JRP9URkP/b2Fe/1hDPv96aWX/V0lG/zIkIf+Acm7/dWNf/0s0 + Lv8/JyH/Pych/7tgSP8/JyH/p1dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf/+/v7//////yqZuv+AwtX//////9/p3v+V6JH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjECzSI/Ys0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//// + //8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/W0dC/0U3 + NP97a2f/Pych/2FSTv9SRUH/Tzk0/0EpI/9bR0L/iHt3/zYpJf9CNTH/g3Vy/3VjX/9KNC7/u2BI/z8n + If+nV0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/3NjW//7+ + /v9GpsP/GpG1/xWPs/9fssv///////7+/v+n7KP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSIwUs0iPtLNIj/izS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/iko5/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv+FdnL/PzEt/3VjX/8/JyH/f29r/y4g + Hf91Y1//Pych/z8nIf9KNC7/dWNf/3lrZ/82KCX/OCsn/3JkYP/Slob/W0dC/69mU/9MNjD/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9AKCL/UTw2/9/b2v/+/v7/aLbO/xiQtP8akbX/GpG1/xiQ + tP8/osD//v7+//7+/v+t7ar/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iNvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIj1CzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/UDo0/2tdWf9oW1f/SjQu/z8nIf91Y1//OCsn/4N0cP9AKCL/Pych/z8n + If8/JyH/SjQu/3VjX/+CdHH/UUNA/2o3Kf86LSn/lWdb/29hXv90ZGD/f29r/39va/9/b2v/f29r/39v + a/9/b2v/dGRg/2NTT//h3t7//v7+/4nG2f8VjrP/GpG1/xqRtf8akbX/GpG1/xqRtf8tmbr/8fj6//7+ + /v9R2Un/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iM/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI5Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/leiQ//////8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If91Y1//MiUh/4BwbP8/JyH/Pych/1A6NP9kVlP/Y1ZS/1E7Nv8/JyH/Pych/z8nIf8/JyH/Pych/0w2 + MP9bR0L/0paH/3FhXf+oeW3/W01K/05APf8/MS7/OCon/zcqJv85LCj/PzEt/0s+Ov9YSkb/sKmo//7+ + /v+q1eP/EYyy/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8gk7b/2+3z//////8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI/0s0iMRAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iNULNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8n + If8/JyH/iko5/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SjQu/3ttaf9YS0f/W0dC/z8n + If8/JyH/QCgi/29gXP8/MS7/W0dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+7YEj/Pych/61i + T/9QOzX/UTs1/1E7Nf9ROzX/UTs1/1E7Nf9ROzX/UTs1/25dWP/+/v7/zObu/w+Lsf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xGMsv+n1OP//////yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAALNIjDSzSI/0s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8nIf+KSjn/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91Y1//Nikl/4R1cf9AKCL/Pych/z8nIf8/JyH/gXFt/yMW + Ev+AcGz/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/7tgSP8/JyH/p1dC/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9gTUj//v7+/+bz9/8Vj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8UjrP/jcja//7+/v/Y9tb/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI44AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAA + AAAAAAAAAAAAAAAAAAAs0iPKLNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4pKOf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/SjQu/3hqZ/9QQj//W0dC/z8nIf8/JyH/Pych/z8nIf9bR0L/TkA9/3BiX/9KNC7/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/u2BI/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/YE1I//7+ + /v/z+fv/IZS3/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F5C0/2y5z///////6/rq/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + IzEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAALNIjYyzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/+V6JD//////z8nIf8/JyH/iko5/1MwJ/+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv/Ci3z/ajww/8eU + h/+nWEP/p1dC/6dXQv+nV0L/p1dC/61iT/+oem7/dkk9/8KLfP+nV0L/p1dC/6dXQv+nV0L/p1dC/65a + RP+1XUb/Pych/6dXQv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf/+/v7//////y+bu/8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf9KqMT//v7+//7+/v+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj7gAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAACzSIwUs0iP6LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////Pych/z8n + If+KSjn/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/dWNf/1pMSf9lV1T/W0dC/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/2ZWUv8jFhL/TT88/3ppZf8/JyH/Pych/z8nIf8/JyH/Pych/7tgSP8/JyH/p1dC/z8n + If8/JyH/Pych/z8nIf8/JyH/29jW//7+/v9DpcP/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/MZy8///////+/v7//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AAAAAAAAAAAALNIjkizSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/4tKOf8/JyH/Pych/z8n + If8/JyH/Pych/1VAO/94amf/Nyom/3ppZf9BKSP/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/XUxI/zYo + Jf9rXVr/SDs3/3ppZf9KNC7/Pych/z8nIf8/JyH/tV1G/z8nIf+nV0L/Pych/z8nIf8/JyH/Pych/9zY + 1v/+/v7/ZrXN/xiQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/ySWuP/2+vz//v7+/0xA + Pv//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BAAAAACzS + IxIs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/XzYr/6hXQv+nV0L/p1dC/6dXQv+xa1j/wJKG/2M1 + Kf/MnpL/rGFN/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+VVUX/oXRo/6J1af+qfXH/cEM3/8qc + kP+zb17/qFhE/6dXQv+mVkH/Pych/6dXQv8/JyH/Pych/z8nIf/c2Nb//v7+/4bF2P8VjrP/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8YkLT/6fT3//7+/v+Nfnv/Nyom//T09P+c6Zf/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iOhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wYAAAAALNIjqCzSI/4s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf8/JyH/Pych/z8nIf9BKSP/W0dC/4FzcP8tHxz/j4F+/1ZBO/8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0EuKf94aGT/PzEu/3JhXf+CdHH/KRsX/2xfW/96aWX/UDo0/0Ao + Iv8/JyH/p1dC/z8nIf8/JyH/29fW//7+/v+n1eP/EY2y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akLT/EIyy/9Lp8P/+/v7/YE1I/1A6NP9rXVr/w8PD/57pmf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iMWAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////DCzSIw4s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If8/JyH/Pych/3ppZf9wYl//Oy4q/5GDf/9WQTv/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/PSom/3BeWv8pGxf/f29r/1M9OP+FdnL/W05K/yodGf9rXVn/hXZy/1tHQv+vZlP/UTs1/29e + Wf/+/v//yeXt/w6Lsf8akLT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xCMsv+w2eX//v7+/56S + j/8/JyH/QCgi/4V2cv+Tk5P/su6v/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI6MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8sLNIjiSzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Qisl/1tGQf+FdnL/SDo3/1xP + S/96aWX/SjQu/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0s1L/9NPTn/Tzk0/1BD + P/98bmv/SzUv/0AoIv9bR0L/hXVy/2FTUP8rHRr/OCon/45hVf92amj//v7+/+Ty9v8VjrP/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8UjrP/kMnb//7+/v/c2Nb/Pych/z8nIf8/JyH/W0dC/7m5 + uf+j06D/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIwgAAAAAAAAAAAAAAAAAAAAAAAAAAP///10s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/83xS//ZdNf/2feYf851DD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////QCgi/1E7Nv9gTEf/b2Fe/z8xLf+CdHH/dWNf/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/gnJu/0g7N/9fS0b/emxp/1RGQ/9POTT/Pych/z8n + If9AKCL/UDo1/3VjX/95aWX/vZGF//7+/v/y+Pv/IJS3/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/F5C0/2+50f/+/v7/3NjW/z8nIf8/JyH/Pych/z8nIf9MNjD/+/v7/12MWv9t32f/LtIl/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjgQAAAAAAAAAAAAAAAAAAAAAAAAAAt++0oyzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/W + Nv9JqET/M5Eu/2/Paf9n3mH/OdQw/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//// + //+FdnL/a15a/0I1Mf9eTkv/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9uXlv/YVNQ/003Mv+AcGz/LB4b/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/2dU + UP/+/v7//////y2au/8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf9NqcX//v7+/9zY + 1v8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////hrWD/2G/W/9L2EP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPzAAAAAAAA + AAAAAAAAAAAAAAAAAACU6I/fLNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/MNIn/0vYQ/944XL/TaxI/zOR + Lv9nx2L/Z95h/znUMP8s0iP/LNIj/yzSI/871TP/S9hD/3Thbv+o3aX/wMDA/0c5Nv9qXFn/gXFt/0o0 + Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzQu/0o7 + N/9gTEf/Qiok/1tHQv9AMi//fGxp/0AoIv8/JyH/Pych/z8nIf8/JyH/1M/O//////9Bo8H/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/Mpy9///////+/v7/QCgi/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych//////+177L/JIMf/37eef9F1z3/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iM/AAAAAAAAAAAAAAAAAAAAAIfl + gf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y3SJP9L2EP/eeJ0/0+tSv8ykC3/YcFc/3Lh + bP9p12P/TcFH/0qvRP9Doj7/Ppw5/4u6iP/5+fn/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9+bmr/TT88/1E8Nv8/JyH/UTw2/2ha + V/9oWlf/UDo0/z8nIf8/JyH/Pych/9zY1v/+/v7/Y7TM/xiQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/yWWuP/3+/z//v7+/3pubP9QOjT/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH//////5vp + lv+C4X3/K4km/4Hge/9F1z3/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI6YAAAAAAAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/S9hD/3nidP9Usk//GXcT/xl3FP9bulb/eth0/3bh + cP9K2EL/n+qa//////8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/00/PP99bWn/TTcx/z8nIf9AKCL/hXZy/0EzMP91Y1//Pych/z8n + If/c2Nb//v7+/4PD1/8VjrP/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8ZkLT/6vX4//7+ + /v+Nfnv/STw4/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/0XXPf9/33r/Lowp/27Y + af8+1TX/LtIl/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/gAAAAAAAAAAAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/23fZ/8xjyz/ashl/yyKJv9Usk//duFw/0vYQ/+V6JD//////z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/4Fx + bf9DNDH/VkQ//z8nIf8/JyH/Pych/z8nIf9bR0L/MiQh/4R0cf9AKCL/29fW//7+/v+l0+H/EY2y/xqQ + tP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/EY2y/9Xq8f/+/v7/YE1I/085NP9KPDn/f29r/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/0XXPf9z4W7/Npcx/1m4VP9t32f/OdQw/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjNwAA + AAAAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/P9Y2/0+uSv9xz2v/duFw/2rKZf8siyf/SKdD/7jttf//////SzQu/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzQu/3VjX/+Fd3T/NSck/3hpZv8/JyH/Pych/z8n + If8/JyH/Pych/1E7Nf9TRUL/VEZD/3xsaP//////xuTt/w6Lsf8akLT/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG0/xCMsf+z2ub//v7+/56Sj/8/JyH/TTcx/3ttaf9ZSkb/SjQu/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/9n3mH/bMpn/y6MKf9z1G7/Z95h/znUMP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOFAAAAAAAAAAAAAAAAh+WB/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/dd9v/z2c + OP9I2ED/ONQv/2feYf921nH/caBu/7Ozs/+Fd3P/dWNf/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9CKiT/UDo1/3VjX/+CdXH/Rjk1/0Q2M/+Rg3//VUA7/z8nIf8/JyH/Pych/z8nIf8/JyH/UTs1/0s9 + Ov9qX1z//v7+/+Px9f8UjrP/GpG0/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8TjrP/k8vc//7+ + /v/c2Nb/Pych/z8nIf8/JyH/Tjcy/0g7N/+BcW3/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/y7SJf9L2EP/eeJ0/0qpRf84ljP/dtZx/2feYf851DD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI8wAAAAAAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9n3mH/I4Ee/3Thbv8s0iP/LNIj/znU + MP+y7q//9/f3/0Y5Nf86LCn/fG5r/3VjX/9QOjX/Pych/z8nIf9wXlr/gHBs/2BPS/9WSUX/Nykm/1lM + SP+Bcm7/W0dC/0w2MP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9POTT/X1RR//7+/v/x+Pr/H5S3/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F4+0/3G60f/+/v7/3NjW/z8nIf8/JyH/Pych/z8n + If9NNzH/fW1p/0w+Ov9OODP/QSkj/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/8t0iT/S9hD/3nidP9Nq0j/LYso/2LCXf9z4W7/S9hD/zrVMv8s0iP/LNIj/yzSI/8s0iP/MNIn/0DW + OP871TP/LNIj/wAAAAAAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/z7VNf9HpkL/XcdY/y3SJP8s0iP/LNIj/5XokP//////W0dC/39w + bP9LPTr/LB4a/z4wLf9VR0T/UEM//1BDP/9aTEn/UUA8/3hoZP91Y1//UDo1/0AoIv8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/5KEgP/+/v7//v7+/y2au/8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf9Pqsb//v7+/+Hd3P8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/bl9b/15R + Tf91Y1//Pych/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/0vY + Q/9z4W7/X79Z/zOSLv8/nTr/cNBr/3Phbv9L2EP/OtUx/yzSI/9Z0FP/T65K/2/caf8s0iP/LNIjKAAA + AAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/OtUy/2rLZf9Prkr/P9Y2/yzSI/8s0iP/leiQ//////8/JyH/Pych/3ppZf9eUE3/RTc0/zkr + KP90ZmP/iHl1/2JPSv9ELCf/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9KNC7/4d7d//////8/osD/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/NJ2+//// + ///+/v7/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91ZGD/dmll/0Q2Mv+AcGz/W0ZB/0Ep + I///////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/891TT/fON2/4fl + gf9hv1z/OJcz/ziWM/9LqUb/MK8p/0C+Of9z4W7/Y91c/yzSI/8s0iNbAAAAAAAAAACH5YH/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/c+Fu/yiH + I/9n3mH/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/4V2cv8tIBz/kYSA/2ZZVf87Lir/a15a/4V2 + cv9bR0L/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/+fj4//+/v7/YLLL/xiQ + tP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/yaXuf/4+/z//v7+/39zcP90ZmL/SjQu/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0EpI/9POTP/e2xo/z4wLf9wYl//emll//////+V6JD/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LdIk/0DWOP9A1jj/LNIj/1vSVf9Prkr/PZs4/0WkQP8gfhv/cNFr/2Dd + Wv8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI4gAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9L2EP/IH4b/3Phbf8s0iP/LNIj/5Xo + kP//////Pych/z8nIf8/JyH/W0dC/1FDQP9tX1z/Z1RP/4BwbP9pW1j/PzIu/2NVUv+FdnL/W0dC/0Ao + Iv8/JyH/Pych/z8nIf8/JyH/QCgi/1tHQv/o5uX//v7+/4HC1v8VjrP/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8ZkLX/6/X4//7+/v9gTUj/gHBs/0U4NP96aWX/QSkj/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9LNS//emll/2pcWf9CNTH/z8/P/7zwuf821C7/LNIj/yzSI/861TL/PtU1/2fe + Yf9s1mb/UrBN/0GfPP9OrEj/N6sx/3rYdf9hwFz/QaM8/3Phbv9F1z3/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjrgAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WN/8wjiv/addj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If9MNjD/in15/y8hHv91Y1//Pych/0o0Lv91Y1//bV9c/z8yLv9gUk//hXZy/1tHQv9RPDb/Tjcy/4Jy + bv9uX1v/4N3d//7+/v+i0uH/Eo2y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/EYyy/9fs + 8v/+/v7/YE1I/z8nIf9bR0L/aFpX/2lbWP9RPDb/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9BKSP/Tzkz/3JgXP/j4+P/f658/1KxTf9RtUv/W8lV/1O0Tv9DoT7/RaM//1CvS/9o0mL/deFv/zjU + L/9r32X/RaRA/1q4Vf9n3mH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPOAAAAAAAA + AACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/P9Y3/zyaN/9cylb/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/z8nIf91Y1//Nikl/25e + Wv8/JyH/Pych/z8nIf9KNC7/dWNf/3BiX/89Lyz/U0VC/15QTf9QQz//OCsn/2lfW///////xOLs/w6L + sf8akLT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpC0/w+Msv+22+f//v7+/7Gopf8/JyH/Pych/0Ep + I/91ZGD/QDIu/19OSf9QOjX/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0w2MP9bR0L/fm5q//Hx + 8f+VxZP/SadE/yiHI/9Lqkb/bc1o/3Phbv9L2EP/QNY4/y3SJP8s0iP/bd9n/0qoRf9evFn/bd9n/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI+cAAAAAAAAAAIflgf8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8/1jf/QJ87/1fF + Uf8s0iP/LNIj/5XokP//////Pych/z8nIf8/JyH/Pych/085NP9YSkf/XlBN/0w2MP8/JyH/Pych/z8n + If8/JyH/SjQu/3ppZf9rXlr/KRsY/1JDP/+jmJX//v7+/+Hx9f8UjrP/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8TjrP/lczc//7+/v/g3d3/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/QTIv/2ZY + Vf+Gd3P/SjQu/z8nIf9MNjD/W0dC/4Fxbf90ZGD/ZlhU/1BCP/8/MS7/w8PD/3mpdv9Bnzz/eeJ0/0vY + Q/861TL/LNIj/yzSI/8s0iP/LNIj/0vYQ/9lxGD/SKdD/23fZ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj+gAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WN/89mzj/WshU/yzSI/8s0iP/leiQ//// + //8/JyH/Pych/z8nIf8/JyH/TDYw/2lbV/9NQDz/UTs1/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/3pp + Zf8vIh7/oZaT//7+/v/w+Pr/HpO2/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/F4+0/3O8 + 0v/+/v7/6ufn/1VIRP+EdnL/cF5Z/z8nIf8/JyH/Pych/z8nIf9uXFf/dmhl/0Y5Nf9eT0v/dGRg/2pc + WP9OQT3/Nyom/05BPf9wY1//gnNv/5GEgP/FxcX/lsWT/23fZ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/851DD/hON+/yiGI/9t32f/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/AAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/PtU1/zGPLP9l01//LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/z8n + If8/JyH/bFxY/z0vLP9ROzX/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/UDo1/31yb//+/v7//f7+/yuZ + uv8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xmQtP9SrMf//v7+/+/g3P9KNC7/eGtn/ysd + Gv+EdHH/Pych/0AoIv9RPDb/W0dC/35uav9vYV7/U0ZC/yUYFP9GODX/b2Fd/39va/91Y1//Tzk0/0s0 + Lv9XQj3/a11Z/8/Pz/+177L/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf81lDD/ft15/znU + MP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8AAAAAAAAAAIfl + gf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/9n3mH/GnkV/3Phbf8s0iP/LNIj/5XokP//////Pych/z8nIf8/JyH/Pych/z8nIf9tXVn/PjAt/1E7 + Nf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9AKCL/3tva//////88ocD/GpG1/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/Np69///////+/v7/p1dC/z8nIf9fS0b/WEtH/0I0MP9VR0P/altX/1tN + Sf8+MC3/TD87/25hXf9URkP/cWRg/3ppZf9LNC7/Pych/z8nIf8/JyH/SjQu/4R2c/9BMzD//////5Xo + kP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/dNRv/0GfPP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/wAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/3fhcv8kgh//Z95h/yzS + I/8s0iP/leiQ///////a1tX////////////b19b/QCgi/2hZVf9QQj//UTs1/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/9zY1v/+/v7/XbHL/xmQtP8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/yeX + uf/5/P3//v7+/2BNSP+nV0L/Pych/1pFQP9wYl//Nykm/yweG/9qXFn/eWll/3JhXf+BcW3/VUdD/3Fj + YP91Y1//Pych/z8nIf8/JyH/Pych/z8nIf91Y1//NSck/5GDf///////leiQ/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/2feYf86mTX/eeJ0/y3SJP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/AAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9A1jj/W7pW/1GwTP8/1jb/LNIj/yzSI/+V6JD//v7+//7+ + /v/Pz8//7+/v//7+/v/f29r/YVRQ/2ZYVf9MNjD/Pych/z8nIf8/JyH/Pych/z8nIf/c2Nb//v7+/37A + 1f8Wj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8bkbb/7Pb5//7+/v9gTUj/Pych/6dX + Qv8/JyH/Qiok/4N0cP9YS0f/fG5q/1ZBO/8/JyH/SjMu/3ttaf9GODX/dWNf/z8nIf8/JyH/Pych/z8n + If8/JyH/TDYw/3NlYv9QQz//WkZB//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/ceBr/zKQ + LP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/oAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/0vYQ/8zki7/X8pa/y3SJP8s0iP/LNIj/+v66v//////09PT/6Ghof+pqan/8vLy//7+ + /v+jnZz/gHBs/z8nIf8/JyH/Pych/z8nIf8/JyH/29fW//7+/v+g0eD/Eo2y/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbT/EYyy/9nt8v/+/v7/YE1I/z8nIf8/JyH/p1dC/z8nIf8/JyH/Tjcy/zst + Kv9/b2v/Pych/z8nIf9bR0L/Rzk2/4N1cv9LNC7/Pych/z8nIf8/JyH/Pych/z8nIf9bR0L/SDs3/4t9 + ef9MNjD//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/zrVMv9iwl3/W7pW/0DWOP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj5wAAAAAAAAAAh+WB/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8t0iT/eeJ0/xl3 + E/904W7/LNIj/yzSI//Y9tb//f39/9ra2v+goKD/pKSk/6SkpP+np6f/7e3t/6ehn/9bR0L/Pych/z8n + If8/JyH/Pych/2FNSf//////weHr/w6Lsf8akbT/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/w+L + sf+43ej//////2FNSf8/JyH/Pych/z8nIf+nV0L/Pych/0MsJv9sWVX/PjAt/39va/8/JyH/Pych/4Fx + bf8jFhL/f29r/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/4Fxbf8tIBz/dWNf/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/yzSI/8s0iP/P9Y3/0mnRP944nL/LdIk/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPOAAAAAAAAAACH5YH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/z/WNv9YtlL/UbBM/0vYQ/8s0iP/2PbW//7+ + /v/e3t7/oqKi/6SkpP+kpKT/pKSk/6Ghof/u7u7/v7e1/0AoIv8/JyH/Pych/z8nIf9gTUj//v7+/9/v + 9P8TjbL/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8TjbL/mM3d//7+/v/b19b/Pych/z8n + If8/JyH/Pych/6dXQv8/JyH/YlBL/1lMSP9FODT/f29s/z8nIf8/JyH/f29r/yMWEv9/b2v/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/b19b/0EzMP9POTT/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/831C//PJo3/2HdW/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI64AAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8u0iX/bd9n/xp4Ff934HL/LdIk/9j21//+/v7/4eHh/6Wlpf+kpKT/pKSk/6Sk + pP+goKD/5+fn//////9+bmr/Pych/z8nIf8/JyH/YU1J//7+/v/v9/r/HZO2/xqRtf8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/Fo+z/3a90//+/v7/6+jo/1tHQv8/JyH/Pych/z8nIf8/JyH/p1dC/3Vk + YP9cTkv/IxYS/yMWEv9GOTX/hHVx/1pFQP94Z2P/PzIu/4p8eP9LNC7/Pych/z8nIf8/JyH/Pych/z8n + If9mVlL/Sz06/1E7Nf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/2HdW/8wjiv/N9Qv/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIjiAAA + AAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0vY + Q/9kwl//RaM//0vYQ//Y9tf//v7+/+Tk5P+mpqb/pKSk/6SkpP+kpKT/pKSk/62trf/9/f3//v7+/7h5 + aP+uZVL/v4Z3/9Cmm//+/v7//P39/yuZuv8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xmQ + tP9Vrcj//v7+/+/m5P91SDz/mm1h/8aThv/AhXb/kGti/3BeWf/JmYz/Nykm/zgrJ/9zZWH/fm5q/3Vn + Y/88Liv/VUdE/4Bxbv+Mf3v/QjQw/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/35uav88Liv/W0dC/z8n + If//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/c+Ft/yWEIP8/1jf/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iNbAAAAAAAAAACH5YH/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/eeJ0/xl3E/954nT/2PbW//7+ + /v/n5+f/qKio/6SkpP+kpKT/pKSk/6SkpP+kpKT/o6Oj/76+vv/9/f3//v7+/390cf9KPTn/1tPT//// + //86oL//GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/N5++///////W0M//b2Bc/ywe + Gv8+MC3/MyYi/zEjIP95Sz//PzEt/41fU/84Kyf/eWlk/0o0Lv8/JyH/SjQu/3VjX/+DdXH/QDIv/0U3 + M/9VR0P/emxp/1VAO/8/JyH/Pych/z8nIf8/JyH/dWNf/z0vLP+FdnL/QCgi//////+V6JD/LNIj/yzS + I/8s0iP/LNIj/yzSI/9z4W3/IoAc/z7VNf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIygAAAAAAAAAAIflgf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf9KqUX/XrxY/2vfZP//////7e3t/6ioqP+jo6P/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/oaGh/8jIyP//////4Nzb/+Hd3P/+/v7/Wq/J/xmQtP8akbX/GpG1/xqR + tf8akbX/GpG1/xqRtf8akbX/GpG1/yiXuf/6/f3//v7+/31taf9qXFn/MSMg/3lqZv9OODP/W0dC/8eU + h/9FNzP/YzYq/4Bxbv9LNS//Pych/z8nIf8/JyH/Pych/19LRv9tW1b/kYSA/0AzL/8kFhP/eGpn/3Vj + X/9KNC7/Pych/z8nIf9KNC7/cWNf/1hLR/9bR0L//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/2fe + Yf8gfxv/Z95h/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/AAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/9F1z3/ctJt/yyKJv9t32f//v7+//Ly8v+lpaX/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/oaGh/8fHx////////////3zA1P8Wj7P/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqR + tf8bkbX/7fb5//7+/v+2dWT/x5SH/2EzJ//HlIb/rGFN/6dXQv9nOS3/p1dC/4V2cv9wQjb/WUQ//z8n + If8/JyH/QSkj/1tGQf+FdnL/X1JO/0k7OP9SREH/Y1VS/3NjX/9XSUb/MyYi/3VnY/91Y1//UDo0/z8n + If91Y1//PS8s/4V2cv//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/PtU1/zCOK/9y4Wz/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI8wAAAAAAAAAAAAA + AACH5YH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/Rdc9/4Liff8igB3/h+WB/0zY + RP//////ysrK/6Ojo/+kpKT/o6Oj/6Ojo/+ioqL/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/oqKi/7+9 + vf+Xz+D/E42y/xqRtf8akbX/GpG1/xqRtf8akbX/GpG1/xqRtf8akbX/Eo2y/9zu8//+/v7/bVpW/1tH + Qv9QQj//cWRg/1tGQf8/JyH/Pych/z8nIf+nV0L/W0dC/39RRf+AcGz/Pych/0EpI/96aWX/dmhl/0Ay + L/+HeXb/dWNf/085NP9MNjD/Pych/1tHQv+FdnL/XlBN/zIkIf9yZGH/emll/1xHQv+KfHn/Rzk2//// + //+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8/1jf/TqxJ/2bHYf861TL/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjhQAAAAAAAAAAAAAAAIflgf8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LdIk/z7VNf944nP/LYwo/4Phfv9jwV7/QqA8//7+/v//////09PT/6Sk + pP+ioqL/xcXF/+fn5/+ioqL/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKOj/42eo/8Uj7T/GpCz/xmR + tf8akbX/GpG1/xqRtf8akbX/GpG1/w+Lsf+73+n//////1JHRP+Cc2//g3Vy/zUoJP96aWX/QSkj/z8n + If8/JyH/Pych/6dXQv9RPDb/o3Vp/2tdWv9LNS//Tzk0/3JlYf9TRkL/emll/0s0Lv8/JyH/Pych/z8n + If8/JyH/Pych/0AoIv9bR0L/hXZy/2haV/80JiP/Z1pW/5GEgP9fUk7/6urq/5vplv8s0iP/LNIj/yzS + I/8s0iP/LNIj/zrVMv9iwl3/SahE/z/WN/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iM3AAAAAAAAAAAAAAAAh+WB/yzSI/8s0iP/LNIj/yzSI/861TL/PtU1/2fe + Yf924HD/WLZT/yeFIv8behb/Kogl/2jHY/+H5YH/l+iT/9f11v/+/v7/3d3d/76+vv/8/Pz//v7+//Ly + 8v+mpqb/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKP/pKOk/56io/8ckLP/GZCz/xmRtf8akbX/GpG1/xqR + tf8TjbL/ms/e//7+/v/g3dz/PjAt/5GEgP8yJCH/h3l2/0UuKP8/JyH/Pych/z8nIf8/JyH/rGJO/1M9 + OP/Aj4L/QzYy/2lXUv95amb/Rjg1/3VjX/8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If9AKCL/W0ZB/4BwbP9tYFz/PS8s/1pMSf+zs7P/vPC4/zjUL/8s0iP/LNIj/yzSI/8s0iP/LNIj/2rY + ZP8piCT/S9hD/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/gAA + AAAAAAAAAAAAAAAAAACH5YH/LNIj/z/WNv9n3mH/cuFs/1u8Vv8/nTr/N5Yy/0upRf9Zw1P/c+Ft/2vZ + Zf9gwVv/SKdD/yiGI/8+nDn/aMhj/+P54v/+/v7//f39//7+/v/C8b///v7+//X19f+pqan/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/oqOk/6aiof8mkbD/GI+0/xmQtf8akbX/Fo+z/3i+1P/+/v7/3NjW/1E7 + Nv9bTkr/WkxJ/1lLSP9eTkn/XlBN/2teWv9CLyv/OCYh/zknI/+UZ1v/VkhF/8eUhv8sHxv/kYSA/zgq + J/+AcGz/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SDIs/11I + Q/+IeXX/gXNw/62trf9sm2n/fd14/2feYf851DD/LNIj/yzSI/8s0iP/Z95h/yOBHv954nT/LdIk/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iOmAAAAAAAAAAAAAAAAAAAAAJTo + j9861TL+TKpH/zSSL/8/nTr/W7xW/2/eaf9n3mH/P9Y2/y3SJP8s0iP/LNIj/zrVMv9L2EP/dOFu/2DK + Wv9Fo0D/IoAd/7LesP+78Ln/bN9m/5XokP/+/v7///////T09P+srKz/o6Oj/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/o6Ok/6ifnP80j6z/F5C1/xmQtP9Xrsj//v7+/9zY1v8/JyH/Qywm/2xdWv8jFhL/V0lG/0Yz + Lv8/JyH/Pych/z8nIf8/JyH/Pych/72Bcv92ZmL/iFtP/05APf9VSET/cGJf/1tGQf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9bR0L/gXFt/3BgXP9bTUr/SDo3/0g6N/9LPTr/wcHB/5fG + lP86mTX/NpUx/3LSbP9n3mH/OdQw/yzSI/8+1Tb/WLdT/2LAXf9A1jj/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIz8AAAAAAAAAAAAAAAAAAAAAt++0nzXULf9r2GX/dOFu/0vY + Q/861TL/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LdIk/0vYQ/934HH/TatI/yGA + HP9ry2b/su6v///////b19b//v7+//Dw8P+tra3/o6Oj/6SkpP+kpKT/pKSk/6SkpP+kpKT/o6Ok/6uh + n/9Olav/NZ6+///////Uz87/Pych/z8nIf91Y1//TUA8/25hXf90Y17/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/p1dC/z8nIf+vZlP/STw4/zYoJf94Z2P/QSkj/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0o0 + Lv91Y1//bl9b/1BCP/9CNTH/V0lG/2laVv9/b2v/dWNf/085NP//////numZ/2feYf9v2Wr/RKI//zGP + LP9pyWT/Z95h/zvVM/9w22r/MY8s/0vYQ/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iPzAAAAAAAAAAAAAAAAAAAAAAAAAAD///9cLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/y3SJP9L2EP/gN97/zWTMP95qXb//v7+/1ZB + O//c2Nb//v7+//Ly8v+zs7P/oqKi/6SkpP+kpKT/pKSk/6SkpP+kpKT/oqOi/7Svrv/n6Oj//////87I + xv+lmpf/VkE7/3ttav84Kif/emll/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+nV0L/Pych/6dY + Q/+FdnL/LSAc/3NiXf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf91Y1//fW9r/zwuK/9URkP/gXJu/3Vj + X/9QOjX/QCgi/z8nIf8/JyH/Pych//////+V6JD/LNIj/y3SJP9L2EP/eOFy/0imQv8siyf/ZMRf/4Lk + fP8zki7/dd5v/y3SJP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI4EAAAAAAAAAAAAA + AAAAAAAAAAAAAP///zws0iONLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/bd9n/6TUov+ZmZn/h3l1/1VAO//SqqD///////n5 + +f+8vLz/oqKi/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6ioqP/Kysr/+Pj4//7+/v//////0c7N/6KX + lf9KNC7/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/6dXQv8/JyH/p1dC/1tHQv89Lyz/d2dj/z8n + If8/JyH/Pych/z8nIf8/JyH/emll/2VXVP8+MC3/kYN//1tHQv9AKCL/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/8t0iT/S9hD/3bhcP9NrEj/JoUh/1KxTf9OrEj/UNlI/y3S + JP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjCAAAAAAAAAAAAAAAAAAAAAAAAAAA////GyzS + IxAs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8u0iX/pOug//j4+P8nGhb/gnRx/7FrWP9gTUj//v7+//z8/P/FxcX/oqKi/6Sk + pP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Ojo/+hoaH/wcHB/+Hh4f////////////////////////////// + ////////pJmW/z8nIf8/JyH/p1dC/z8nIf+nV0L/UTs2/2RXU/9mWFX/TDYw/z8nIf8/JyH/Pych/3pp + Zf9dT0z/V0lG/3ppZf9KNC7/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/zrVMv9K2EL/duFw/3vZdv9dvFj/IYAc/yKBHf9bulb/eeJ0/0vYQ/8t0iT/LNIj/yzS + I/8s0iP/LNIj/izSI6MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8PAAAAACzSI6gs0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/+V6JD//v7+/46AfP8lFxT/wpOH/3lQRv+2dGP//v7+//7+/v/c3Nz/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+jo6P/oaGh/6mpqf+vr6//r6+v/7a2tv+3t7f/2NjY//z8/P/SqqD/p1dC/2c5 + Lf+nV0L/Pych/6dXQv9AKCL/gnNv/0EzMP9bR0L/Pych/z8nIf91Y1//Y1VS/1xPS/96aWX/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LdIk/z/WNv9n3mH/cdJs/0Wj + P/8riSb/S6lF/2jSYv9l3l//Zd5e/2TEX/8mhCH/T61K/3jhcv871TP/LNIj/yzSI/8s0iP/LNIjFgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wwAAAAALNIjEyzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP//////VkE7/4l7 + eP9eMSX/joB9/0o0Lv9nVFD/1M/O//7+/v/z8/P/qqqq/6SkpP+kpKT/pKSk/6SkpP+kpKT/pKSk/6Sk + pP+kpKT/pKSk/6SkpP+jo6P/paWl/+fn5//+/v7/49/e/52Rjv9/b2v/dWNf/65lUv9MNjD/p1dC/z8n + If91Y1//LSAc/4Fxbf8/JyH/VkE7/3hqZ/9IOzf/emll/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH//v7+/7Lur/914HD/SahE/y2LKP9XtVL/dN5u/2feYf8/1jb/LdIk/yzS + I/8s0iP/OdQw/2feYf9szGb/YL9b/0DWOP8s0iP/LNIj/yzSI6EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////DAAAAAAAAAAALNIjkizSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/W0dC/6h6bv84Kif/dWNf/z8n + If8/JyH/npKP//7+/v/+/v7/srKy/6Kiov+kpKT/pKSk/6SkpP+kpKT/pKSk/6SkpP+kpKT/oKCg/8fH + x//5+fn//////6Sdm/9XSUb/V0lG/0Q2M/8tIBz/iVtP/4p8ef+/hnf/SjQu/043Mv9TRUL/a1xY/0Ir + Jf+FdnL/MiQh/4V2cv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/SzUv/3Vj + X//t7e3/bZxq/0OiPv942HP/Z95h/z7VNv8t0iT/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/zrV + Mv9A1jj/MNIn/yzSI/8s0iP/LNIjDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8KAAAAAAAA + AAAs0iMFLNIj+izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/+V6JD//////z8nIf9BKSP/mXdv/3NFOf+pe27/sWtY/6dXQv+nV0L/tnRj//7+ + /v//////0NDQ/6Wlpf+kpKT/pKSk/6SkpP+kpKT/o6Oj/6ioqP/l5eX//v7+//Lm4//Mn5P/rmVS/69m + U/+vZlP/tHBe/8WQgv+XenP/QzUy/39SRv+Rg3//aVZR/4V3dP9WSUX/blxX/1pMSf9nWVb/VkE7/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/QSkj/085NP98bWn/Oi0p/8rKyv+78Lj/S9hD/zrV + Mv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wQAAAAAAAAAAAAAAAAs0iNjLNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5Xo + kP//////Pych/z8nIf9KNC7/hXd0/yQXE/+AcGz/Pych/z8nIf8/JyH/Z1RQ/9TPzv/+/v7/9fX1/7m5 + uf+kpKT/pKSk/6CgoP/IyMj/+Pj4///////e2dj/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0s0 + Lv91Y1//u42B/zYpJf9vYl7/kYSA/zEjIP+RhID/KRsX/4BwbP8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf96aWX/YVRQ/z4wLP99bWn//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iPuAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAAAAAs0iPKLNIj/izSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ//////8/JyH/Pych/z8n + If91Y1//RDYz/25gXf9KNC7/Pych/z8nIf8/JyH/Pych/56Sj//+/v7//v7+//Ly8v++vr7/4eHh//7+ + /v/+/v7/YU1J/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf+xa1j/hXZy/1VH + Q/9RRED/Sjw5/00/PP9eUE3/W0dC/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9WQTv/hXZy/0I1 + Mf9iVFH/dWNf/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSIzEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8AAAAAAAAAAAAAAAAAAAAAACzSIw0s0iP9LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD//////z8nIf8/JyH/Pych/0o0Lv+CdHH/QjQx/3Vj + X/8/JyH/Pych/z8nIf8/JyH/Pych/3VjX/+fmJb//v7+////////////29fW/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/6FUQP8/JyH/emll/2hbV/8sHxv/IxYS/3hp + Zf9AKCL/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/5CCf/8xIyD/cmRh/3VjX/8/JyH/Pych//// + //+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iOOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI1Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/5XokP//////vGpU/6dXQv+nV0L/p1dC/7+Gd/9tPzP/xI+B/6dXQv+nV0L/p1dC/6dX + Qv+xa1j/s4R4/45hVf+/hnf/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dXQv+nV0L/p1dC/6dX + Qv+nV0L/p1dC/6dXQv+nV0L/oFRA/69aRP8/JyH/emll/2tdWv8lFxT/f29r/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/0s0Lv+Rg3//MCIf/3psaf9WQTv/Pych/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP+LNIj4wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + I5Qs0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/nOqY//7+ + /v//////1dDP/2lWUf8/JyH/UDo1/1tNSv9sXlv/TDYw/z8nIf8/JyH/QCgi/4V2cv8tIBz/hXZy/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/65aRP+uWkT/emll/z4wLf99bWn/Pych/z8nIf8/JyH/Pych/z8nIf9BKSP/emll/z4w + Lf90ZmL/VkE7/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/izSI/0s0iMRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI9Qs0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/leiQ///////+/v7//////9XQ + z/9qV1L/fW5q/1BDP/9ROzX/Pych/z8nIf9bR0L/WEpH/3JkYf9VQDv/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If+1aFT/nm9i/2haV/9MNjD/Pych/z8nIf8/JyH/Pych/1tHQv9iVFH/X1FO/3VjX/8/JyH/Pych/z8n + If8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjBSzSI+0s0iP+LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/5XokP///////v7+///////l4+H/RDYz/1tH + Qv8/JyH/SjQu/4d5dv86LSn/dWNf/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9RPDb/UTs1/1E7 + Nf9ROzX/UTs1/1E7Nf9RPDb/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/0AoIv9/cGz/iVlN/4FZ + Tf8/JyH/Pych/z8nIf9KNC7/iHp2/zUoJP96aWX/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH//////5Xo + kP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI28AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALNIjECzSI/Ys0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/+V6JD///////////+ysrL/wLi2/z8nIf96aWX/Nyom/46B + ff9KNC7/Pych/z8nIf9AKCL/UTw2/1tHQv+BcW3/cmJf/2BST/9TRkL/Rzk2/0I1Mf9ENjP/UkRB/2FT + UP94aWX/dWNf/1A6Nf9AKCL/Pych/z8nIf8/JyH/Pych/3VjX/80JyP/nn92/6dXQv9sPC//QSkj/3pp + Zf8tHxz/jX98/0o0Lv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjFizSI/ks0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/9Y21H/1PXS/729vf/6+vr//v7+/6Wfnf9dT0z/WkZB/z8nIf9QOjX/dWNf/3hp + Zf9VSET/Nykm/0w/O/9hVFD/cGFd/3lpZf99bWn/fm5q/3xsaP92ZmL/c2Vh/1RGQ/8yJCH/VklF/4V2 + cv9bR0L/TDYw/z8nIf8/JyH/UDo1/1NFQv9vYFz/QCgi/2w8L/+6cl//ZFdT/2RXU/9bR0L/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIjlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjFyzS + I/cs0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/871TP/ZbRh/8/ozf/9/f3/nZ2d/+Xi4f+BcWz/hXZy/1dJRv80JyP/WkxJ/3RlYf+BcW3/W0dC/1E8 + Nv9AKCL/Pych/z8nIf8/JyH/Pych/z8nIf9MNjD/Tzk0/3VjX/96bGn/RTcz/0o8Of+Rg3//W0dC/0Ir + Jf9AKCL/Z1hU/1lLSP9QOjX/QCgi/4V1cv9lNSn/y5aI/0AoIv8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI5QAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjEyzSI/Es0iP+LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8lqh7/b9Jq/1ak + Uv/w8PD/8/Pz/7CwsP+XlJT/jYJ//4BwbP9bR0L/QCgi/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/0s0Lv91Y1//gXNw/0AzL/9eUU3/YExH/0kyLf9/b2v/PTAs/3Vj + X/9aRUD/WEpH/2xeW/9bRkH/rlpE/65aRP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf//////leiQ/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iOGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8WAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjCizSI+Ms0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0G0O/9Usk//NJMv/zmYNP9wn23/7+/v//7+ + /v/+/v7/1dDP/2hVUP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/Pych/z8nIf9KNC7/dWNf/2VWUv86LSn/iXx4/3JhXf9HOTb/fGxo/3xsaP8jFhL/hXZy/0Ao + Iv8/JyH/Pych/65aRP9sPC//Pych/z8nIf8/JyH/Pych//////+V6JD/LNIj/yzSI/8s0iP/LNIj/yzS + I/4s0iP/LNIjawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI6ws0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8t0iT/ULpK/xl3E/8lgx//bc1n/2feYf851DD/leiQ///////+/v7//////5+T + kP8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8n + If8/JyH/STIt/4p9ef82KSX/fnBs/2VXU/9iVFD/ZVdT/1RGQ/9bR0L/Pych/z8nIf8/JyH/Pych/2w7 + L/+nV0L/bDwv/z8nIf8/JyH//////5XokP8s0iP/LNIj/yzSI/8s0iP+LNIj+yzSIzgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACzSI3Es0iP/LNIj/izSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/0vY + Q/9WtVH/Ppw5/3nidP9F1z3/LNIj/yzSI/8s0iP/LNIj/9j21v////////////////+fk5D/Pych/z8n + If8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf8/JyH/VkE7/4Fx + bf8/MC3/b2Bc/0k7OP82KCX/gHBt/0AoIv8/JyH/Pych/z8nIf8/JyH/Pych/z8nIf9sPC//p1dC/2w7 + L///////leiQ/yzSI/8s0iP/LNIj/yzSI90s0iMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8WAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + IyIs0iPsLNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/851DD/heSA/yB/G/954nT/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/1nbUv/Q9c7/////////////////mIuI/5+TkP+fk5D/n5OQ/5+T + kP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+DfHr/aGFf/2li + YP+6sa//n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/n5OQ/5+TkP+fk5D/tId8//////+V6JD/LNIj/izS + I/8s0iOJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iOMLNIj/yzS + I/4s0iP/LNIj/yzSI/8s0iP/LNIj/2feYf9Anjv/ZMRf/0XXPf8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/9Z21L/0PXO//////////////////////////////////////////////////// + //////////////////////////////////////////////////+8vLz/wcHB//////////////////// + /////////////////////////////////////////////5vpl/8s0iPqLNIjLAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs0iMjLNIj1SzSI/8s0iP+LNIj/yzS + I/851DD/d9hy/zCOK/9n3mH/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/2rUZP9KqUX/P9Y3/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIjfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNIjVizSI/Is0iP/LNIj/2feYf8nhSL/fN13/znU + MP8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/dOFu/zmYNP9L2EP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/4s0iP/LNIjpizS + IwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACzSI2os0iPzTLpG/1KwTf5n3mH/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/9L2EP/SqlF/3Th + bv8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIjsizSIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABs3mZtUNhJ3S7SJf8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/zvVM/9qzmX/WdRT/yzSI/8s0iP/LNIj/izS + I/8s0iP/LNIjlyzSIxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALNIjLCzSI54s0iP+LNIj/yzSI/4s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPSLNIjZgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAs0iNHLNIjpizSI/os0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/4s0iP/LNIj/yzSI88s0iN3LNIjGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////FwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + Iyos0iNzLNIjtyzSI/Us0iP/LNIj/yzSI/8s0iP+LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzS + I/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPWLNIjlyzSI04s0iMDAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS + Iw4s0iNALNIjbCzSI5Qs0iO1LNIj0izSI+gs0iP6LNIj/yzSI/8s0iP/LNIj/yzSI/8s0iPyLNIj3izS + I8Qs0iOlLNIjgSzSI1Ys0iMoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////gAAAD//////4AA///////4AAAA//////AA + AAf/////+AAAAP////8AAAAA//////gAAAD////4AAAAAB/////4AAAA////4AAAAAAD////+AAAAP// + /4AAAAAAAP////gAAAD///gAAAAAAAA////4AAAA///4AAAAAAAAH///+AAAAP//4AAAAAAAAAf///gA + AAD//8AAAAAAAAAB///4AAAA//+AAAAAAAAAAP//+AAAAP/+AAAAAAAAAAB///gAAAD//AAAAAAAAAAA + P//4AAAA//gAAAAAAAAAAA//+AAAAP/wAAAAAAAAAAAH//gAAAD/4AAAAAAAAAAAA//4AAAA/8AAAAAA + AAAAAAH/+AAAAP+AAAAAAAAAAAAB//gAAAD/AAAAAAAAAAAAAP/4AAAA/gAAAAAAAAAAAAB/+AAAAP4A + AAAAAAAAAAAAP/gAAAD8AAAAAAAAAAAAAB/4AAAA+AAAAAAAAAAAAAAf+AAAAPgAAAAAAAAAAAAAD/gA + AADwAAAAAAAAAAAAAA/4AAAA4AAAAAAAAAAAAAAH+AAAAOAAAAAAAAAAAAAAA/gAAADAAAAAAAAAAAAA + AAP4AAAAwAAAAAAAAAAAAAAB+AAAAIAAAAAAAAAAAAAAAfgAAACAAAAAAAAAAAAAAAD4AAAAAAAAAAAA + AAAAAAAA+AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAeAAAAAAA + AAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgA + AAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAA + AAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAA + AAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAA + AAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgA + AAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAA + AAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAA + AAAAAAAAeAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AAAAIAA + AAAAAAAAAAAAAPgAAACAAAAAAAAAAAAAAAH4AAAAwAAAAAAAAAAAAAAB+AAAAMAAAAAAAAAAAAAAA/gA + AADgAAAAAAAAAAAAAAP4AAAA4AAAAAAAAAAAAAAH+AAAAPAAAAAAAAAAAAAAD/gAAAD4AAAAAAAAAAAA + AA/4AAAA+AAAAAAAAAAAAAAf+AAAAPwAAAAAAAAAAAAAH/gAAAD+AAAAAAAAAAAAAD/4AAAA/gAAAAAA + AAAAAAB/+AAAAP8AAAAAAAAAAAAA//gAAAD/gAAAAAAAAAAAAf/4AAAA/8AAAAAAAAAAAAH/+AAAAP/g + AAAAAAAAAAAD//gAAAD/8AAAAAAAAAAAB//4AAAA//gAAAAAAAAAAA//+AAAAP/8AAAAAAAAAAA///gA + AAD//gAAAAAAAAAAf//4AAAA//+AAAAAAAAAAP//+AAAAP//wAAAAAAAAAH///gAAAD//+AAAAAAAAAH + ///4AAAA///4AAAAAAAAH///+AAAAP///gAAAAAAAD////gAAAD///+AAAAAAAD////4AAAA////4AAA + AAAD////+AAAAP////gAAAAAH/////gAAAD/////AAAAAP/////4AAAA//////AAAAf/////+AAAAP// + ////gAD///////gAAAD////////////////4AAAA////////////////+AAAAP////////////////gA + AAA= + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/BellDing.wav b/EduNetworkBuilder/Resources/BellDing.wav new file mode 100644 index 0000000000000000000000000000000000000000..12e1bbe59cfe70bd5d02dba5bb4c44f992d0b8ed GIT binary patch literal 8172 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 + + + + 1024 + 1024 + 162 + + net_switch0 + 100 + 144 + 457,141 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 144 + 145 + net_switch0 + lo0 + + lo + 145 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 144 + 146 + net_switch0 + management_interface0 + + management_interface + 146 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 144 + 147 + net_switch0 + port1 + + port + 147 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 144 + 148 + net_switch0 + port2 + + port + 148 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 144 + 149 + net_switch0 + port3 + + port + 149 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 144 + 150 + net_switch0 + port4 + + port + 150 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 144 + 151 + net_switch0 + port5 + + port + 151 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 144 + 152 + net_switch0 + port6 + + port + 152 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 144 + 153 + net_switch0 + port7 + + port + 153 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 130 + 251,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc0 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc0 + eth0 + + eth + 132 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 133 + 407,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc1 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc1 + eth0 + + eth + 135 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 136 + 527,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc2 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc2 + eth0 + + eth + 138 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 139 + 658,513 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 139 + 140 + pc3 + lo0 + + lo + 140 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 139 + 141 + pc3 + eth0 + + eth + 141 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + server0 + 100 + 154 + 111,151 + server + False + True + + 192.168.1.254 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 154 + 155 + server0 + lo0 + + lo + 155 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 154 + 156 + server0 + eth0 + + eth + 156 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.1 + 192.168.1.2 + 192.168.1.6 + route + + + + + 154 + 156 + server0 + eth0 + + + 144 + 147 + net_switch0 + port1 + + + 157 + + + + 130 + 132 + pc0 + eth0 + + + 144 + 148 + net_switch0 + port2 + + + 158 + + + + 133 + 135 + pc1 + eth0 + + + 144 + 149 + net_switch0 + port3 + + + 159 + + + + 136 + 138 + pc2 + eth0 + + + 144 + 150 + net_switch0 + port4 + + + 160 + + + + 139 + 141 + pc3 + eth0 + + + 144 + 151 + net_switch0 + port5 + + + 161 + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Help.rtf b/EduNetworkBuilder/Resources/Help.rtf new file mode 100644 index 0000000..13fc10d --- /dev/null +++ b/EduNetworkBuilder/Resources/Help.rtf @@ -0,0 +1,178 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\fnil\fcharset0 Courier New;}{\f2\fmodern\fprq1\fcharset0 Consolas;}{\f3\fnil\fcharset0 Calibri;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 6.3.9600}\viewkind4\uc1 +\pard\widctlpar\sa200\sl276\slmult1\f0\fs22\lang9 This is a basic help document for EduNetworkBuilder\par +\b Overview\par +\b0 EduNetworkBuilder is meant to represent fairly truthfully how a network functions while removing the complexity of configuration. It focuses on IP addresses, Netmasks, Gateways, and Routes.\par +\b The Items & Terminology\b0\par +The items in this are broken into three main portions. Devices, network cards, and interfaces. This is how Linux does it, and Windows does too, though it is hard to notice it.\par +A device is the physical object. A laptop, desktop, server, etc.\par +Different devices can have multiple network cards. Each card has a MAC (Ethernet) address.\par +Each network card can have multiple IP addresses. This allows you to have one network wire coming into a computer, but have multiple IP-addresses. This adds a little bit of complexity, to it being a "simple" network simulation tool. But it adds a lot of flexibility, as well as being closer to reality.\par +\b Building a network\b0\par +Use the item list on the left to choose an item to add to the network.\par +Click on the link button, then left-click on the starting item and drag to the destination item. Release the button on the destination and a "link" box will appear. Select the network-cards and interfaces that are selected.\par +\b Configuring The Devices\par +\b0 Double-click an item to edit it. You can change the host name, and add network cards and interfaces. You can also set the default gateway and add routes. On servers, you can configure the DHCP service.\par +\b Network Cards\par +\b0 For the most part, you should not need to add extra network cards. But, if you want to, you can. If you press the edit button on a network card, you can choose if the network card is configured statically, or through DHCP.\par +\b Interfaces\b0\par +You change an interface when you are editing a device. If the device has multiple network cards, you need to select the network card you want to change the interface for. The interface initially looks like: "0.0.0.0 - 0.0.0.0" This is the network and subnet. The whole object of the program is to simulate what happens when you have different values here. Or to have someone set up a network and then for you to go in and configure it so it works. Double-click on an interface to set the IP Address and netmask for that interface.\par +\b Default Gateway\b0\par +The default gateway is on a device editing screen at the top-right. Click on the button to set it. If a Network Card is set to use DHCP then any value you put in will be overridden if the device does a DHCP Request.\par +\b ACTIONS\par +\b0 You can right-click a device and do actions on it. Delete, edit, ping from, arp from, dhcp request (if the device is configured to use DHCP), remove links between devices, and a few other things.\par +\b Solving Puzzles\par +\b0 Under the menu-item, "Samples", you will find the puzzles. Opening this window will let you select from a number of puzzles which will help you learn how the program functions and test your knowledge of networking. The puzzles start with a low complexity (level zero is mainly about basic usage of this program) and work their way up. Starting at the beginning is recommended, but you can jump to whatever complexity you want to master.\par +As you try to solve a puzzle, you should see a series of radio-buttons on the upper-right. These are your "help-o-meter." Help of zero, the bottom, does not do anything for you. If you click it up one button, it will color-code the machines that have problems. If you click it onto the third button, it will give you a little more information about the problem when you mouse-over the problematic computer. And the top-most button will basically tell you what you need to do when you mouse-over the problem. Some puzzles, however, are set up to not show you the complete solution, and so you will need to think those out.\par +\b Making Puzzles\par +\b0 EduNetworkBuilder is set up so you can make puzzles to give to others to do. Start by thinking out your problem, what you want to solve and how you want them to solve it. Then, draw your "network." Once all the pieces to the puzzle have been added and configured to your liking, you need to go to "Edit" and "Options."\par +Start by giving the puzzle a good name (title). This shows up at the top of the network window. You can determine if the device names and their IP addresses are displayed by checking the "Display Titles" checkmark.\par +Set the "Message given when network loaded", which explains the puzzle. Make sure to give enough information that they can understand what you want them to do with the puzzle.\par +Finally, double-click in the "tests" box, or right-click to "add" a test. Choose the device that is affected. The source device is the one that will change color to tell you that there is a problem with it. There are many sorts of tests, from needing to ping something, to have an IP-Address which is considered "local" to something else.\par +You can also choose to "lock" things. This keeps others from changing them during the puzzle. For example, locking pc0 NIC 192.168.1.3 will keep people from changing the network card that has the IP address of 192.168.1.3.\par +\b Levels:\par +\b0 Level_0: Program operation.\par +Level_1: Basics: IP Addresses, Netmask, Gateway, Ping, etc.\par +Level_2: Firewalls, VPNs, etc.\par +Level_3: Troubleshooting the basics\par +Level_4: Advanced Subnetting and Routing\par +\b NETWORKING TOPICS:\par +The Basics:\par +\b0 There are four main components to subnetting. The IP Address, the netmask, the default gateway, and static routes.\par +\b The IP Address:\par +\b0 The IP Address is a set of four numbers, connected by periods. Each of the numbers is eight bits long, which means it is a number between 0 and 255. Most IP addresses are reserved for specific people, places, and things. But there are three main sets of "internal" IP addresses that are set aside for use behind firewalls. 10.x.x.x, 192.168.x.x, and 172.16-31.x.x\par +\b The Netmask:\par +\b0 The network mask (or netmask) is a set of numbers that state what is considered "local" and what is considered "remote." Anything that is not considered local is sent to the computer specified by the "default gateway." Anything that is considered local is sent straight out to the local network, destined to the local machine.\par +The netmask usually looks something like 255.255.255.0. In binary, this looks like: \par +11111111.11111111.11111111.00000000\par +Again, each bit can either be 0 or 1, and a byte is 8 bits in length. There are 4 bytes in each IP address, and the same number in each netmask. The 255 number is the highest number that can be represented in one byte. All the bits are set to 1. \par +A netmask can also be expressed by "CIDR" notation. This is a count of how many 1s there are in a row before the first zero. The number above would be expressed as /24.\par +\b The Gateway:\par +\b0 The gateway is a computer on the same subnet as the IP address, where any non-local packets are sent to. The computer compares the destination IP address with the local computer's IP address, using the subnet-mask to determine if it is local or not. If the packet is local, it is sent straight out of the network card to the destination computer. If the packet is not local, it is routed to the default gateway, which sends it on towards the final destination.\par +\b DHCP:\par +\b0 DHCP is a protocol for when a computer does not have a static IP address set up for it. Often when a computer turns on or connects up to the wireless, it needs to have one assigned to it. DHCP is what happens. Basically the client broadcast out a "DHCP" request. The request only goes out to "local" computers (it stops when it hits a router). A DHCP Server will respond (if one exists on the local network) and give the client an IP Address.\b\par +DHCP Server:\par +\b0 (See DHCP above) A DHCP server remembers all the clients that request IP addresses so it issues the same IP address if that particular client asks a second time. It also remembers which IP addresses it has given out so it does not give the same IP address to different computers.\b\par +Ping:\par +\b0 A Ping is a simple packet that is sent from one comput to the other. The computer you send the ping packet to will usually respond. The word "Ping" comes from the concept of a submarine and sonar. Something does a "Ping" and you hear an echo to tell you that the computer is alive. This is usually what it is used for, to determine if a computer is turned on, functional, or to see if the network is properly set up.\b\par +ARP:\par +\b0 ARP stands for "Address Resolution Protocol." Computers on a local network talk to each-other by using the MAC Addresses. These are addresses that are unique to each network card, that look something like: \f1\lang1033 10:08:b1:73:aa:5b\par +\f0\lang9 ARP is what is used when one computer wants to find the MAC address of another computer. It usually sends out a broadcast that says, "who has this IP Address?" And it gets a response back that says something like, "I have that IP and my MAC address is: \f1\lang1033 10:08:b1:73:aa:5b\f0\lang9 "\par +We do not get into it too much on this program, but if a computer does not know the MAC address of the computer it is trying to communicate with, it first sends out an ARP request to find that before it sends out a packet containing the ping or other communication.\par +You can usually run: arp -a\par +from a commandline to see all the MAC addresses that the computer has remembered.\par +\b Unicast Packet:\par +\b0 A Unicast packet is a packet that is going to one specific computer.\b\par +Broadcast Packet:\par +\b0 A broadcast packet is one that is sent out to everything that is considered local to it. Routers, firewalls, and some other devices do not pass broadcasts on.\b\par +Static Routes:\par +\b0 A static route has a network, a subnet mask, and a gateway. The gateway must be local to the computer that is sending out the packet, otherwise the computer cannot figure out how to send the packet. Static routes are used primarily for telling routers, firewalls, and computers how to send packets when the IP addresses and gateways are not obvious.\par +\b Comparing IP addresses:\par +\b0 When a computer wants to compare IP Addresses, it does it by using the subnet mask. A mask hides something. A Halloween mask hides our face; masking tape covers a wall to keep it from being painted on. A subnet mask hides the subnet. For example, an IP address of 192.168.0.50 and netmask of 255.255.255.0 looks like:\par + +\pard\widctlpar\fs24\lang1033 IP:\par +11000000.10101000.00000000.00110010\par +Mask:\par +11111111.11111111.11111111.00000000\par + +\pard\widctlpar\sa200\sl276\slmult1\fs22\lang9 The mask has 24 ones in a row. So it could also be represented as /24. When it is compared, the first thing that happens is the subnet is masked out. In the mask, the final set of numbers are zeroes. The numbers where the mask is a 0 is dropped. The resulting number is: 192.168.0.0. This is called the "Network Address." We do the same thing for both the source and destination IP. Then we compare the Network Address of both of them. If they have the same network address, then they are considered to be on the same network. If they do not have the same network address, they are considered to be on different networks.\par +\b VPNs:\par +\b0 A VPN stands for a "Virtual Private Network." It is used to make a secure connection between computers or networks, usually across the Internet. It is usually used in the context of either someone working from home and wanting to access printers or file-shares off the office network. Or, two different networks wish to be connected (two offices in different states, etc).\b\par +ADVANCED TOPICS:\b0\par +\b Subnetting: \b0 (Based heavily off of LordFlasheart's post, "Subnetting Made Easy" here: {{\field{\*\fldinst{HYPERLINK http://www.techexams.net/forums/ccna-ccent/38772-subnetting-made-easy.html }}{\fldrslt{http://www.techexams.net/forums/ccna-ccent/38772-subnetting-made-easy.html\ul0\cf0}}}}\f0\fs22\par +An IP address is made up of 32 bits, split into 4 octets (octet = 8 bits). Some bits are reserved for identifying the network and the other bits are left to identify the host.\par +Below shows you how, for each class, the address is split in terms of network (N) and host (H) portions.\par +\f2 NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH /8\par +NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH /16\par +NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH /24\par +\f0 There is a boundary at each dot, therefore there are boundaries after bits 8, 16, 24, and 32. This is an important concept to remember. The first move in doing any work with subnets is to figure out which boundary segment you are working within. So you will need to remember the 8, 16, 24, 32.\par +We will either be working with the netmask given in CIDR notation (/24) or in dotted decimal (255.255.255.0). The first thing to do is to determine the block size: how big the subnet is.\par +With CIDR (/24) we do this by first finding the nearest boundary higher than our number. For example, we are using a /20 subnet. The next boundary up is /24. We then subtract our subnet from the boundary. 24 - 20 = 3. There are three bits that make up the size of the subnet. the number of numbers in 3 bits = 2 ^ 3 (two to the power of 3, or 2 * 2 * 2), which is 8. Remember that the first number is lost to the "network address" and the last number is the "broadcast address".\par +It is very simple to determine the block size when using the dotted decimal (255.255.255.0) format. You find the last number that is not 255, and subtract it from 256. For example, if you are doing 255.255.255.240, the last number is 240. 256 - 240 = 16. So the block size is 16. But, what do we do with the block size? Well, the easiest thing to do is to look at a number of examples, and it should make more sense.\par +\b Question: What subnet does 192.168.12.37/29 belong to?\par +\b0 You may wonder where to begin. We always start with determining which boundary we are working with for this address.\par +Our mask is a /29. The next boundary up is 32. So 32 - 29 = 3. Now 2^3 = 8 which gives us our block size i.e. 2 to the power of 3 equals 8. \par +We have borrowed from the last octet as the 29th bit is in the last octet. We start from zero and count up in our block size. Therefore it follows that the subnets are:-\par +\par +192.168.12.0\par +192.168.12.8\par +192.168.12.16\par +192.168.12.24\par +192.168.12.32\par +192.168.12.40\par +.............etc.\par +Our address is 192.168.12.37 so it must sit on the 192.168.12.32 subnet.\par +\par +\b Question: What subnet does 172.16.116.4/19 sit on?\par +\b0 Our mask is /19 and our next boundary is 24. Therefore 24 - 19 = 5. The block size is 2^5 = 32.\par +We have borrowed into the third octet as bit 19 is in the third octet so we count up our block size in that octet. The subnets are:-\par +172.16.0.0\par +172.16.32.0\par +172.16.64.0\par +172.16.96.0\par +172.16.128.0\par +172.16.160.0\par +.............etc.\par +Our address is 172.16.116.4 so it must sit on the 172.16.96.0 subnet. Easy eh?\par +\b Question: What subnet does 10.34.67.234/12 sit on?\par +\b0 Our mask is 12. Our next boundary is 16. Therefore 16 - 12 = 4. 2^4 = 16 which gives us our block size.\par +We have borrowed from the second octet as bit 12 sits in the second octet so we count up the block size in that octet. The subnets are:-\par +10.0.0.0\par +10.16.0.0\par +10.32.0.0\par +10.48.0.0\par +.............etc.\par +Our address is 10.34.67.234 which must sit on the 10.32.0.0 subnet.\par +Hopefully the penny is starting make sense. We will now change the type of question so that we have to give a particular host range of a subnet.\par +\b Question: What is the valid host range of the 4th subnet of 192.168.10.0/28?\par +\b0 Easy as pie! The block size is 16 since 32 - 28 = 4 and 2^4 = 16. We need to count up in the block size in the last octet as bit 28 is in the last octet.\par +192.168.10.0\par +192.168.10.16\par +192.168.10.32\par +192.168.10.48\par +192.168.10.64\par +.................etc.\par +Therefore the 4th subnet is 192.168.10.48 and the host range must be 192.168.10.49 to 192.168.10.62, remembering that the subnet and broadcast address cannot be used.\par +\b Question: What is the valid host range of the 1st subnet of 172.16.0.0/17?\par +\b0 /17 tells us that the block size is 2^(24-17) = 2^7 = 128. We are borrowing in the 3rd octet as bit 17 is in the 3rd octet. Our subnets are:-\par +172.16.0.0\par +172.16.128.0\par +The first subnet is 172.16.0.0 and the valid host range is 172.16.0.1 to 172.16.127.254. You must remember not to include the subnet address (172.16.0.0) and the broadcast address (172.16.127.255).\par +\b Question: What is the valid host range of the 7th subnet of address 10.0.0.0/14?\par +\b0 The block size is 4, from 16 - 14 = 2 then 22 = 4. We are borrowing in the second octet so count in the block size from 0 seven times to get the seventh subnet.\par +The seventh subnet is 10.24.0.0. Our valid host range must be 10.24.0.1 to 10.27.255.254 again remembering not to include our subnet (10.24.0.0) and the broadcast address (10.27.255.255).\par +\b What if they give me the subnet mask in dotted decimal?\par +\b0 If you're lucky and they give you a mask in dotted decimal format then you should have an even easier time. All you need again is your block size.\par +Let's say they have given a mask of 255.255.255.248 and you wish to know the block size. Here's the technique:\par +1. Starting from the left of the mask find which is the first octet to NOT have 255 in it.\par +2. Subtract the number in that octet from 256 to get your block size e.g. above it is 256 - 248 = block size of 8.\par +3. Count up from zero in your block size in the octet identified in step 1 as you have learned above (the example above would be in the last octet).\par +Another example is a mask of 255.255.192.0 - you would simply count up in 256 - 192 = 64 in the third octet.\par +One more example is 255.224.0.0 - block size is 256 - 224 = 32 in the second octet.\par +\b WHEN TO SUBNET:\par +\b0 The word, "subnet", means one network that is part of another. The process of subnetting, therefore, is the process of breaking a network into smaller pieces.\b\par +\b0 Subnetting used to be very critical to the smooth operations of a network. Old versions of Windows did lots of broadcasting, and networks were very loud. That, combined with slower networks, meant a lot of congestion. To remedy that, they used to subnet networks into small pools of like items (PCs, printers, servers, etc.) This would have the net effect of shrinking the distance a broadcast packet would travel, as well as give granular control of security.\par +But a number of technological advances happened, which removed many of the reasons to subnet.\par +* Switches were invented so only broadcast traffic went to every machine.\par +* Protocols got a lot smarter, relying less and less on broadcast traffic to make things work.\par +* Programs got a lot smarter, using other methods than broadcasts.\par +* Router speed increased, so routers could handle more traffic and larger routing tables.\par +* Network speeds increased exponentially, which increased the carrying capacity of a single network exponentially.\par +* And many other advances.\par +So, in short, subnetting is no longer critical for making a small network function. But subnetting of large networks is very important. Security is probably the biggest reason to subnet. Subnetting very large networks can still be very helpful in keeping down traffic. And Subnetting networks that are connected via VPNs is still a very important part of planning large scale networks.\par +There are a few main rules for how to subnet:\par +* All IP subnets should use natural boundaries.\par +* Grouping like objects into \ldblquote natural\rdblquote subnets makes them easier to control.\par +* Smaller adjacent subnets should fit into larger subnets, most of the time.\par +* Smaller routing tables require less management and resources.\par +\b All IP subnets should use natural boundaries.\par +\b0 Even if you do not need all the space, you should break up networks into ranges of the power of 2. It is very common to say something like, the first 50 IPs are for networking equipment, the next 20 are for printers, etc. But it is much better to use 64 IPs for networking equipment, and 16 IPs for printers... The numbers are not quite as simple on the brain, but they are a lot easier to control in your firewall. You can block access from the Internet to your networking equipment my making one simple rule if you make your ranges appropriately. You should also plan on growth. It is very common for people to run out of their IP space, simply because they failed to plan.\par +\b Grouping like objects into \ldblquote natural\rdblquote subnets makes them easier to control.\par +\b0 As mentioned above, it is common to want to block Internet access directly to and from your networking equipment and printers. You may want to allow certain traffic to individual departments (many organizations allow the media departments to access Facebook and social media sites during work-hours, while other departments are not allowed to access those same sites.) If your equipment and PCs are subnetted along natural boundaries (8, 16, 32, 64, etc.), you can usually make a single rule to allow or block traffic to those particular items.\par +\b Smaller adjacent subnets should fit into larger subnets, most of the time.\par +\b0 If you plan it right, you should be able to supernet your subnets, and have one route or rule for them. For example, you may have your networking equipment in 1-63, and your printers from 65-127. That means you can have one route or rule that matches all 128 IPs. This makes life a lot simpler for creating many sorts of rules.\b\par +Smaller routing tables require less management and resources.\par +\b0 Again, with the onset of more powerful routers, firewalls, and faster networking speeds, this is no longer quite as critical as it once was. But if you have a finely tuned firewall, you can end up with many rules. Often it is very nice to block all access to a whole range instead of blocking access to each machine one IP at a time. Often, the "less management" simply means less work for the techies who are keeping things running smoothly.\f3\par +} + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Hub.png b/EduNetworkBuilder/Resources/Hub.png new file mode 100644 index 0000000000000000000000000000000000000000..d737635c1a8094adb3a89f9ae2a9bfb256d9801e GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yu_bxCyD-Es)H3{>^Fo6UD8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3z#+@fgWJT(~k4C?uO15>euupPQSSR|4cRFgO>b zCYGe8D3oWGWGJ|M`Ua%vrLr?HFqe3`IEGZ*dVAM9Ta;ab?ScN|of;dxE;u|T# zT|JpDsu1^fx zyfWwZF3od>LuvcvZjY|CX@r@~XReN8j(?*I~Lkd|$QD^}ieK4;_s0S$%r(a`o23 zM-FZ2>fn8S{n(4vhbM(ILeslTN7e61~*io1J z@@-<$#JZ^3U3sN3J57Q-EuNVw+-kn*w|bGrql*>hQESsukH%iS$|o*|JXKN zY3*!&;qEP$S6!CuiZ<5^k?QNH{Nw!aws7{7bNkP6rOEVlbWFFm?Y_HvTezG6ualK} zU;S()878M)-y#f6B<`2%FXeD|@%%5Za+%lQ$v%hrf_xpj$UF0&{V?Uol(GGjD)S?$ zeAYJsflCqlaunX(**8lIs9CDKeuo${v-f4$@R#@hMSZ`0|MI_g>y=kmz1k`nXCMCF zaPs$==l<31el&YM|B`HeUZ^Fo6UD8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3z#+v6xv#Ufux`lFbZ>C~?lu%}vcK0dg4_oQqNu zOHxx5$}>wc6x=<115)%-*%=sE>pfi@Ln>~)y&KsPS}Jqk<9*3xoiV4TWiDRxZ0QP( zX0cNoi=`HMY;tYdl#pS3*g?bjRM5p!0^U(C6-|PTzjvJKIKnka?$tuqQ!KZGwcXR7 zox3x$+Mi!7#G?59oty9O{H&2Xy7TnU|NEcU|0{lfkpt`&9K?zOPs@EPOnif#jak%_ zCr!Cqv&KkAK|sT^bm#s9yNr)XF6G)*`&vz#W5*Gu#s&ulAa+nt5D?&)GX0fTrE;=* zp2@7#CzGds4HGEnWMyJxVPay0tKnc_VFF=7LINBZsxXC)C?YI}DrZ157|6vG;#;w9 ziutFLr>YiriXypXLgVyhnOPBS%f84nNvg23tDii=xG+Z5a}v)>hh1FC^Uoi@^z`-P zkCx|WX^Ottk=)oiu)Q{eIa@N9Q9=KaGB1QS6%$1FRl_ZeX?y#9 zb$utl+e=07znj-0QLuHZ`_W&a`o}*WzxpjoC3NW<)1sX*I#qRrF>&>)Ei|Nem;IGY zKJNSGYOUv`yP=2oO7XA-tNC|j21{4%(bu#R_?~5OqsQ|5nTTJnnk3BLY?!31sRa^@ z=#{Zly0*Sb)6e$ll1WOMKP*qoDt+$?4CSK-7i`Io4~{APy5z@;$LGCnO&8%g@_o6) zn@c9W*6(Tz+-G!sxV5RY@bB60ZpFpkfxq7^V#>@d&UAhH z-fF|6;D_5>sUXEpK4@I1^Rl^q%F?BcX0C=?GS-z^5 zr5o)3d_Vr~=$-gU%QBx7weEjB>GV@BySQ1)CZ63UUbE&~U*C%tFEoC9H=4Pv>Hhwc zPm5gVazsUMzBort>%N-4opZ{*LVm_5a`2&gOdOxU2TCNJ+Ti<;?#lH_s3*T(@F! z`o0d~Zz}@Zxmmh)O?l;~kXoZAr1w_}v+TQ&|Br3wB**!;jOyQk%0y3BKbLh*2~7Z= C$E;fb literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/Level0-Help.enbx b/EduNetworkBuilder/Resources/Level0-Help.enbx new file mode 100644 index 0000000..5958fb5 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-Help.enbx @@ -0,0 +1,101 @@ + + + + + To learn how this program works, first we will acquaint you with the 'Help.' Most of the puzzles you do, you will want to do with as little help as possible. But, there is help when you need it. For this puzzle, click one of the four help-levels (round buttons) on the right. Then mouse-over the PC and see the messages. When you have moused-over for all the buttons (and pressed the ? box), this puzzle will be completed. + Learn how help works + 1024 + 1024 + 100 + True + 0 + 0 + 106 + full + + pc0 + 100 + 100 + 400,420 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc0 + none + HelpRequest + + + pc0 + basic + HelpRequest + + + pc0 + hints + HelpRequest + + + pc0 + full + HelpRequest + + + pc0 + ?Button + HelpRequest + + Help + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-HubVsSwitch.enbx b/EduNetworkBuilder/Resources/Level0-HubVsSwitch.enbx new file mode 100644 index 0000000..54351ad --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-HubVsSwitch.enbx @@ -0,0 +1,1144 @@ + + + + + This puzzle shows the difference between a hub and a switch. +Have each of the servers ping the computers on the same lan as themselves, and have those computers ping the server. +The switch learns which device is attached to it and only sends the packet to that computer, while the hub sends the packet to every device on the subnet. + Switch vs Hub + 1024 + 1024 + 100 + False + 0 + 4 + 174 + full + + net_hub0 + 100 + 160 + 740,390 + net_hub + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 160 + 161 + net_hub0 + lo0 + + lo + 161 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 160 + 162 + net_hub0 + management_interface0 + + management_interface + 162 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 160 + 163 + net_hub0 + port1 + + port + 163 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 160 + 164 + net_hub0 + port2 + + port + 164 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 160 + 165 + net_hub0 + port3 + + port + 165 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 160 + 166 + net_hub0 + port4 + + port + 166 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 160 + 167 + net_hub0 + port5 + + port + 167 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 160 + 168 + net_hub0 + port6 + + port + 168 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 160 + 169 + net_hub0 + port7 + + port + 169 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 112 + 100,390 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 106 + 200,520 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc0 + lo0 + + lo + 107 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc0 + eth0 + + eth + 108 + False + + eth0 + + 192.168.1.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 155 + 620,530 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 155 + 156 + pc3 + lo0 + + lo + 156 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 155 + 157 + pc3 + eth0 + + eth + 157 + False + + eth0 + + 192.168.2.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 132 + 100,250 + router + False + False + + 192.168.3.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 132 + 133 + router0 + lo0 + + lo + 133 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 132 + 134 + router0 + eth0 + + eth + 134 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 132 + 135 + router0 + eth1 + + eth + 135 + False + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + + router1 + 100 + 136 + 740,250 + router + False + False + + 192.168.4.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 136 + 137 + router1 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + router1 + eth0 + + eth + 138 + False + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 136 + 139 + router1 + eth1 + + eth + 139 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + + router2 + 100 + 140 + 403,110 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + router2 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + router2 + eth0 + + eth + 142 + False + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 140 + 143 + router2 + eth1 + + eth + 143 + False + + eth1 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.5 + 192.168.1.7 + route + + + + server1 + 100 + 103 + 860,530 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 112 + 117 + net_switch0 + port3 + + + 132 + 134 + router0 + eth0 + + + 146 + + + + 155 + 157 + pc3 + eth0 + + + 160 + 164 + net_hub0 + port2 + + + 171 + + + + 140 + 143 + router2 + eth1 + + + 136 + 138 + router1 + eth0 + + + 148 + + + + 132 + 135 + router0 + eth1 + + + 140 + 142 + router2 + eth0 + + + 147 + + + + 160 + 166 + net_hub0 + port4 + + + 136 + 139 + router1 + eth1 + + + 173 + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 106 + 108 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 145 + + + + 103 + 105 + server1 + eth0 + + + 160 + 165 + net_hub0 + port3 + + + 172 + + + server0 + pc0 + SuccessfullyPings + + + pc0 + server0 + SuccessfullyPings + + + pc1 + server1 + SuccessfullyPings + + + server1 + pc1 + SuccessfullyPings + + Ping + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-IP.enbx b/EduNetworkBuilder/Resources/Level0-IP.enbx new file mode 100644 index 0000000..41e4632 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-IP.enbx @@ -0,0 +1,465 @@ + + + + + pc0 needs an IP that is local to the other two computers. Double-click PC0, double-click the IP-Address (0.0.0.0) and put a good IP address there. + IP Puzzle + 1024 + 1024 + 100 + True + 122 + 0 + 03.00 + full + + net_switch0 + 100 + 100 + 426,306 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + net_switch0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 100 + 102 + net_switch0 + management_interface0 + + management_interface + 102 + False + + management_interface0 + + 192.168.1.6 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 100 + 103 + net_switch0 + port1 + + port + 103 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 100 + 104 + net_switch0 + port2 + + port + 104 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 100 + 105 + net_switch0 + port3 + + port + 105 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 100 + 106 + net_switch0 + port4 + + port + 106 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 100 + 107 + net_switch0 + port5 + + port + 107 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 100 + 108 + net_switch0 + port6 + + port + 108 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 100 + 109 + net_switch0 + port7 + + port + 109 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 110 + 110,306 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + pc0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + pc0 + eth0 + + eth + 112 + False + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 113 + 750,542 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + pc1 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 113 + 115 + pc1 + eth0 + + eth + 115 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 116 + 762,97 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 116 + 117 + pc2 + lo0 + + lo + 117 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 116 + 118 + pc2 + eth0 + + eth + 118 + False + + eth0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 103 + net_switch0 + port1 + + + 116 + 118 + pc2 + eth0 + + + 119 + + + + 100 + 104 + net_switch0 + port2 + + + 113 + 115 + pc1 + eth0 + + + 120 + + + + 110 + 112 + pc0 + eth0 + + + 100 + 105 + net_switch0 + port3 + + + 121 + + + pc0 + pc1 + NeedsLocalIPTo + + + pc0 + pc2 + NeedsLocalIPTo + + IP + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-NeedsLink.enbx b/EduNetworkBuilder/Resources/Level0-NeedsLink.enbx new file mode 100644 index 0000000..98d9538 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-NeedsLink.enbx @@ -0,0 +1,369 @@ + + + + + Plug in the network to the computer that needs it. Click on the link icon (the line) and drag the pointer from the switch to the computer. When you release the mouse button, the link window will pop up. Choose the ports you want to connect, and you should be finished. + Plug in network + 1024 + 1024 + 100 + True + 118 + 0 + 01.00 + full + + net_switch0 + 100 + 100 + 394,150 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + net_switch0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 100 + 102 + net_switch0 + management_interface0 + + management_interface + 102 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 100 + 103 + net_switch0 + port1 + + port + 103 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 100 + 104 + net_switch0 + port2 + + port + 104 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 100 + 105 + net_switch0 + port3 + + port + 105 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 100 + 106 + net_switch0 + port4 + + port + 106 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 100 + 107 + net_switch0 + port5 + + port + 107 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 100 + 108 + net_switch0 + port6 + + port + 108 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 100 + 109 + net_switch0 + port7 + + port + 109 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 110 + 131,416 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + pc0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + pc0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 113 + 666,433 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + pc1 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 113 + 115 + pc1 + eth0 + + eth + 115 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 113 + 115 + pc1 + eth0 + + + 100 + 103 + net_switch0 + port1 + + + 116 + + + pc0 + net_switch0 + NeedsLinkToDevice + + Link + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-NoSwitch.enbx b/EduNetworkBuilder/Resources/Level0-NoSwitch.enbx new file mode 100644 index 0000000..511bd3a --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-NoSwitch.enbx @@ -0,0 +1,209 @@ + + + + + There is no switch. Add one and link the devices to it. Click on the switch and add it to the network (make sure you add a switch and not a hub). Then, drag links from the switch to the computers, choosing the ports to connect. + No Switch + 1024 + 1024 + 100 + False + 119 + 0 + 02.00 + full + + pc0 + 100 + 100 + 187,465 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 103 + 562,472 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + pc1 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + pc1 + eth0 + + eth + 105 + False + + eth0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 116 + 378,455 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 116 + 117 + pc2 + lo0 + + lo + 117 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 116 + 118 + pc2 + eth0 + + eth + 118 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc0 + net_switch0 + NeedsLinkToDevice + + + pc1 + net_switch0 + NeedsLinkToDevice + + + pc2 + net_switch0 + NeedsLinkToDevice + + Link + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-Ping.enbx b/EduNetworkBuilder/Resources/Level0-Ping.enbx new file mode 100644 index 0000000..3167b74 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-Ping.enbx @@ -0,0 +1,562 @@ + + + + + Right-click PC0 and ping laptop0 and laptop1. You can put either the IP address or host-name of the device you are trying to ping in the box that pops up asking you for an IP. + Ping Test + 1024 + 1024 + 100 + True + 0 + 1 + 130 + full + + laptop0 + 100 + 103 + 559,560 + laptop + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + laptop0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + laptop0 + eth0 + + eth + 105 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 123 + 680,147 + laptop + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + laptop1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + laptop1 + eth0 + + eth + 125 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 109 + 406,328 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 100 + 246,560 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 119 + 400,158 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 119 + 120 + router0 + lo0 + + lo + 120 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 119 + 121 + router0 + eth0 + + eth + 121 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 119 + 122 + router0 + eth1 + + eth + 122 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + pc0 + eth0 + + + 109 + 112 + net_switch0 + port1 + + + 126 + + + + 103 + 105 + laptop0 + eth0 + + + 109 + 113 + net_switch0 + port2 + + + 127 + + + + 109 + 114 + net_switch0 + port3 + + + 119 + 121 + router0 + eth0 + + + 128 + + + + 119 + 122 + router0 + eth1 + + + 123 + 125 + laptop1 + eth0 + + + 129 + + + pc0 + laptop0 + SuccessfullyPings + + + pc0 + laptop1 + SuccessfullyPings + + Ping + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0-SimpleDHCP.enbx b/EduNetworkBuilder/Resources/Level0-SimpleDHCP.enbx new file mode 100644 index 0000000..b01cded --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0-SimpleDHCP.enbx @@ -0,0 +1,397 @@ + + + + + Tell the PC to do a DHCP request. Right-click on the PC to see the menu, or do it from the 'All' menu. + DHCP Request + 1024 + 1024 + 100 + True + 118 + 0 + 03.00 + full + + net_switch0 + 100 + 103 + 422,141 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + net_switch0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 103 + 105 + net_switch0 + management_interface0 + + management_interface + 105 + False + + management_interface0 + + 102.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 103 + 106 + net_switch0 + port1 + + port + 106 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 103 + 107 + net_switch0 + port2 + + port + 107 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 103 + 108 + net_switch0 + port3 + + port + 108 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 103 + 109 + net_switch0 + port4 + + port + 109 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 103 + 110 + net_switch0 + port5 + + port + 110 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 103 + 111 + net_switch0 + port6 + + port + 111 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 103 + 112 + net_switch0 + port7 + + port + 112 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 113 + 691,444 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + pc0 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 113 + 115 + pc0 + eth0 + + eth + 115 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + server0 + 100 + 100 + 176,407 + server + False + True + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.50 + 192.168.1.60 + route + + + + + 100 + 102 + server0 + eth0 + + + 103 + 106 + net_switch0 + port1 + + + 116 + + + + 113 + 115 + pc0 + eth0 + + + 103 + 107 + net_switch0 + port2 + + + 117 + + + pc0 + server0 + NeedsLocalIPTo + + DHCP + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0_BrokenLink.enbx b/EduNetworkBuilder/Resources/Level0_BrokenLink.enbx new file mode 100644 index 0000000..4049115 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0_BrokenLink.enbx @@ -0,0 +1,565 @@ + + + + + This shows what happens if there is a broken network wire in your network. Ping laptop1 and see where the packet dies. Open one of the devices connected to that link and you will see that, even though the device has a link connected to it, it does not have a "connection light" saying it is connected. (The connection-light is the * at the end of the eth name). You can also edit the network card to see if it thinks it is connected. Remove the broken network wire by right-clicking one of the devices at either end and removing the link. Then add the link again. A successful ping tells you if you got it working. + Broken Link + 1024 + 1024 + 100 + False + 0 + 6 + 131 + full + + laptop0 + 100 + 103 + 559,560 + laptop + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + laptop0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + laptop0 + eth0 + + eth + 105 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 123 + 680,147 + laptop + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + laptop1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + laptop1 + eth0 + + eth + 125 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 109 + 406,328 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 100 + 246,560 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 119 + 400,158 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 119 + 120 + router0 + lo0 + + lo + 120 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 119 + 121 + router0 + eth0 + + eth + 121 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 119 + 122 + router0 + eth1 + + eth + 122 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + pc0 + eth0 + + + 109 + 112 + net_switch0 + port1 + + + normal + 126 + + + + 103 + 105 + laptop0 + eth0 + + + 109 + 113 + net_switch0 + port2 + + + normal + 127 + + + + 109 + 114 + net_switch0 + port3 + + + 119 + 121 + router0 + eth0 + + + normal + 128 + + + + 119 + 122 + router0 + eth1 + + + 123 + 125 + laptop1 + eth0 + + + broken + 130 + + + pc0 + laptop1 + SuccessfullyPings + + + laptop1 + router0 + NeedsLinkToDevice + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0_NetworkLoop.enbx b/EduNetworkBuilder/Resources/Level0_NetworkLoop.enbx new file mode 100644 index 0000000..c1841ec --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0_NetworkLoop.enbx @@ -0,0 +1,859 @@ + + + + + This puzzle shows you what happens when you create a network loop. A loop is made when you have your switches connected to themselves or to another one that is connected back to the first one. Ping from pc0 to pc1 to see what happens. You do not need to fix the problem, but right-clicking one of the switches and removing one of the offending links would do it. + Network loop + 1024 + 1024 + 100 + False + 0 + 3 + 171 + full + + net_hub0 + 100 + 136 + 520,540 + net_hub + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + net_hub0 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 136 + 138 + net_hub0 + management_interface0 + + management_interface + 138 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 136 + 139 + net_hub0 + port1 + + port + 139 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 136 + 140 + net_hub0 + port2 + + port + 140 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 136 + 141 + net_hub0 + port3 + + port + 141 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 136 + 142 + net_hub0 + port4 + + port + 142 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 136 + 143 + net_hub0 + port5 + + port + 143 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 136 + 144 + net_hub0 + port6 + + port + 144 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 136 + 145 + net_hub0 + port7 + + port + 145 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_hub1 + 100 + 146 + 280,290 + net_hub + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 146 + 147 + net_hub1 + lo0 + + lo + 147 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 146 + 148 + net_hub1 + management_interface0 + + management_interface + 148 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 146 + 149 + net_hub1 + port1 + + port + 149 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 146 + 150 + net_hub1 + port2 + + port + 150 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 146 + 151 + net_hub1 + port3 + + port + 151 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 146 + 152 + net_hub1 + port4 + + port + 152 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 146 + 153 + net_hub1 + port5 + + port + 153 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 146 + 154 + net_hub1 + port6 + + port + 154 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 146 + 155 + net_hub1 + port7 + + port + 155 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_hub2 + 100 + 156 + 540,160 + net_hub + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 156 + 157 + net_hub2 + lo0 + + lo + 157 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 156 + 158 + net_hub2 + management_interface0 + + management_interface + 158 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 156 + 159 + net_hub2 + port1 + + port + 159 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 156 + 160 + net_hub2 + port2 + + port + 160 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 156 + 161 + net_hub2 + port3 + + port + 161 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 156 + 162 + net_hub2 + port4 + + port + 162 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 156 + 163 + net_hub2 + port5 + + port + 163 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 156 + 164 + net_hub2 + port6 + + port + 164 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 156 + 165 + net_hub2 + port7 + + port + 165 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 130 + 190,650 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc0 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc0 + eth0 + + eth + 132 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 133 + 830,190 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc1 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc1 + eth0 + + eth + 135 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 146 + 149 + net_hub1 + port1 + + + 136 + 139 + net_hub0 + port1 + + + 166 + + + + 136 + 140 + net_hub0 + port2 + + + 156 + 159 + net_hub2 + port1 + + + 167 + + + + 146 + 150 + net_hub1 + port2 + + + 156 + 160 + net_hub2 + port2 + + + 168 + + + + 146 + 151 + net_hub1 + port3 + + + 130 + 132 + pc0 + eth0 + + + 169 + + + + 156 + 161 + net_hub2 + port3 + + + 133 + 135 + pc1 + eth0 + + + 170 + + + pc0 + pc1 + SuccessfullyPings + + Ping + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level0_NetworkLoop2.enbx b/EduNetworkBuilder/Resources/Level0_NetworkLoop2.enbx new file mode 100644 index 0000000..2d50dd5 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level0_NetworkLoop2.enbx @@ -0,0 +1,1636 @@ + + + + + Managed Switches can use Spanning Tree, which intelligently figures out the least distance path to a point. It is made so you can have network loops and survive. Try pinging pc1 twice from pc0. The first time, some packets are lost. But the second time the packet goes where it should. + Network Loop + 1024 + 1024 + 100 + False + 0 + 3.5 + 214 + full + + net_switch0 + 100 + 100 + 210,410 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + net_switch0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 100 + 102 + net_switch0 + management_interface0 + + management_interface + 102 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 100 + 103 + net_switch0 + port1 + + port + 103 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 100 + 104 + net_switch0 + port2 + + port + 104 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 100 + 105 + net_switch0 + port3 + + port + 105 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 100 + 106 + net_switch0 + port4 + + port + 106 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 100 + 107 + net_switch0 + port5 + + port + 107 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 100 + 108 + net_switch0 + port6 + + port + 108 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 100 + 109 + net_switch0 + port7 + + port + 109 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 110 + 360,280 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + net_switch1 + lo0 + + lo + 111 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 110 + 112 + net_switch1 + management_interface0 + + management_interface + 112 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 110 + 113 + net_switch1 + port1 + + port + 113 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 110 + 114 + net_switch1 + port2 + + port + 114 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 110 + 115 + net_switch1 + port3 + + port + 115 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 110 + 116 + net_switch1 + port4 + + port + 116 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 110 + 117 + net_switch1 + port5 + + port + 117 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 110 + 118 + net_switch1 + port6 + + port + 118 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 110 + 119 + net_switch1 + port7 + + port + 119 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 120 + 350,480 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + net_switch2 + lo0 + + lo + 121 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 120 + 122 + net_switch2 + management_interface0 + + management_interface + 122 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 120 + 123 + net_switch2 + port1 + + port + 123 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 120 + 124 + net_switch2 + port2 + + port + 124 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 120 + 125 + net_switch2 + port3 + + port + 125 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 120 + 126 + net_switch2 + port4 + + port + 126 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 120 + 127 + net_switch2 + port5 + + port + 127 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 120 + 128 + net_switch2 + port6 + + port + 128 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 120 + 129 + net_switch2 + port7 + + port + 129 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch6 + 100 + 160 + 620,480 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 160 + 161 + net_switch6 + lo0 + + lo + 161 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 160 + 162 + net_switch6 + management_interface0 + + management_interface + 162 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 160 + 163 + net_switch6 + port1 + + port + 163 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 160 + 164 + net_switch6 + port2 + + port + 164 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 160 + 165 + net_switch6 + port3 + + port + 165 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 160 + 166 + net_switch6 + port4 + + port + 166 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 160 + 167 + net_switch6 + port5 + + port + 167 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 160 + 168 + net_switch6 + port6 + + port + 168 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 160 + 169 + net_switch6 + port7 + + port + 169 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch7 + 100 + 170 + 620,280 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 170 + 171 + net_switch7 + lo0 + + lo + 171 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 170 + 172 + net_switch7 + management_interface0 + + management_interface + 172 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 170 + 173 + net_switch7 + port1 + + port + 173 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 170 + 174 + net_switch7 + port2 + + port + 174 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 170 + 175 + net_switch7 + port3 + + port + 175 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 170 + 176 + net_switch7 + port4 + + port + 176 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 170 + 177 + net_switch7 + port5 + + port + 177 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 170 + 178 + net_switch7 + port6 + + port + 178 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 170 + 179 + net_switch7 + port7 + + port + 179 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch8 + 100 + 180 + 750,370 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 180 + 181 + net_switch8 + lo0 + + lo + 181 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 180 + 182 + net_switch8 + management_interface0 + + management_interface + 182 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 180 + 183 + net_switch8 + port1 + + port + 183 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 180 + 184 + net_switch8 + port2 + + port + 184 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 180 + 185 + net_switch8 + port3 + + port + 185 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 180 + 186 + net_switch8 + port4 + + port + 186 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 180 + 187 + net_switch8 + port5 + + port + 187 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 180 + 188 + net_switch8 + port6 + + port + 188 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 180 + 189 + net_switch8 + port7 + + port + 189 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 190 + 880,380 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 190 + 191 + pc0 + lo0 + + lo + 191 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 190 + 192 + pc0 + eth0 + + eth + 192 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 193 + 50,420 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 193 + 194 + pc1 + lo0 + + lo + 194 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 193 + 195 + pc1 + eth0 + + eth + 195 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 193 + 195 + pc1 + eth0 + + + 100 + 103 + net_switch0 + port1 + + + 196 + + + + 100 + 105 + net_switch0 + port3 + + + 120 + 123 + net_switch2 + port1 + + + 198 + + + + 100 + 104 + net_switch0 + port2 + + + 110 + 113 + net_switch1 + port1 + + + 197 + + + + 170 + 175 + net_switch7 + port3 + + + 180 + 183 + net_switch8 + port1 + + + 207 + + + + 160 + 165 + net_switch6 + port3 + + + 180 + 184 + net_switch8 + port2 + + + 208 + + + + 180 + 185 + net_switch8 + port3 + + + 190 + 192 + pc0 + eth0 + + + 209 + + + + 110 + 114 + net_switch1 + port2 + + + 160 + 163 + net_switch6 + port1 + + + 210 + + + + 120 + 124 + net_switch2 + port2 + + + 170 + 173 + net_switch7 + port1 + + + 211 + + + + 110 + 115 + net_switch1 + port3 + + + 170 + 174 + net_switch7 + port2 + + + 212 + + + + 120 + 125 + net_switch2 + port3 + + + 160 + 164 + net_switch6 + port2 + + + 213 + + + pc0 + pc1 + SuccessfullyPings + + Ping + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-BadDHCP.enbx b/EduNetworkBuilder/Resources/Level1-BadDHCP.enbx new file mode 100644 index 0000000..83b4b57 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-BadDHCP.enbx @@ -0,0 +1,551 @@ + + + + + The Server is giving out bad DHCP. Edit the DHCP settings to tell it to give correct DHCP. (You do this by selecting 'DHCP' from the device-editing screen) Then do a DHCP request on all the PCs. + Bad DHCP + 1024 + 1024 + 100 + True + 126 + 1 + 02.00 + + net_switch0 + 100 + 112 + 408,281 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 103 + 212,649 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + pc0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + pc0 + eth0 + + eth + 105 + True + + eth0 + + 192.168.1.51 + 255.255.255.0 + 192.168.1.254 + route + + + + + + pc1 + 100 + 106 + 604,642 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc1 + lo0 + + lo + 107 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc1 + eth0 + + eth + 108 + True + + eth0 + + 192.168.1.50 + 255.255.255.0 + 192.168.1.254 + route + + + + + + pc2 + 100 + 109 + 708,284 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc2 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc2 + eth0 + + eth + 111 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 192.168.1.60 + ip + + + + + + server0 + 100 + 100 + 103,277 + server + False + True + + 192.168.1.254 + 255.255.255.0 + 192.168.1.60 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.1 + 192.168.2.50 + 192.168.2.60 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 122 + + + + 103 + 105 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 123 + + + + 106 + 108 + pc1 + eth0 + + + 112 + 117 + net_switch0 + port3 + + + 124 + + + + 109 + 111 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 125 + + + pc0 + server0 + NeedsLocalIPTo + + + pc1 + server0 + NeedsLocalIPTo + + DHCP + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-BadIP.enbx b/EduNetworkBuilder/Resources/Level1-BadIP.enbx new file mode 100644 index 0000000..94011a5 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-BadIP.enbx @@ -0,0 +1,534 @@ + + + + + PC0 cannot ping one of the other computers. Figure out which one, and change the IP address of that computer so it works. + Bad IP + 1024 + 1024 + 100 + True + 126 + 1 + 01.00 + + net_switch0 + 100 + 112 + 450,216 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 192.168.2.6 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 100 + 95,216 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 103 + 288,605 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + pc1 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + pc1 + eth0 + + eth + 105 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 106 + 646,591 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc2 + lo0 + + lo + 107 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc2 + eth0 + + eth + 108 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 109 + 789,216 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc3 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc3 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + pc0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 122 + + + + 109 + 111 + pc3 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 123 + + + + 103 + 105 + pc1 + eth0 + + + 112 + 117 + net_switch0 + port3 + + + 124 + + + + 106 + 108 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 125 + + + pc0 + pc2 + NeedsLocalIPTo + + IP + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-DuplicateIPs.enbx b/EduNetworkBuilder/Resources/Level1-DuplicateIPs.enbx new file mode 100644 index 0000000..67965c7 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-DuplicateIPs.enbx @@ -0,0 +1,637 @@ + + + + + Get the PCs so they are happy + Duplicate IPs + 1024 + 1024 + 100 + False + 1 + 4 + 162 + none + + net_switch0 + 100 + 144 + 457,141 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 144 + 145 + net_switch0 + lo0 + + lo + 145 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 144 + 146 + net_switch0 + management_interface0 + + management_interface + 146 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 144 + 147 + net_switch0 + port1 + + port + 147 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 144 + 148 + net_switch0 + port2 + + port + 148 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 144 + 149 + net_switch0 + port3 + + port + 149 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 144 + 150 + net_switch0 + port4 + + port + 150 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 144 + 151 + net_switch0 + port5 + + port + 151 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 144 + 152 + net_switch0 + port6 + + port + 152 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 144 + 153 + net_switch0 + port7 + + port + 153 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 130 + 251,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc0 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc0 + eth0 + + eth + 132 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 133 + 407,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc1 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc1 + eth0 + + eth + 135 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 136 + 527,506 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc2 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc2 + eth0 + + eth + 138 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 139 + 658,513 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 139 + 140 + pc3 + lo0 + + lo + 140 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 139 + 141 + pc3 + eth0 + + eth + 141 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + server0 + 100 + 154 + 111,151 + server + False + True + + 192.168.1.254 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 154 + 155 + server0 + lo0 + + lo + 155 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 154 + 156 + server0 + eth0 + + eth + 156 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.1 + 192.168.1.2 + 192.168.1.6 + route + + + + + 154 + 156 + server0 + eth0 + + + 144 + 147 + net_switch0 + port1 + + + 157 + + + + 130 + 132 + pc0 + eth0 + + + 144 + 148 + net_switch0 + port2 + + + 158 + + + + 133 + 135 + pc1 + eth0 + + + 144 + 149 + net_switch0 + port3 + + + 159 + + + + 136 + 138 + pc2 + eth0 + + + 144 + 150 + net_switch0 + port4 + + + 160 + + + + 139 + 141 + pc3 + eth0 + + + 144 + 151 + net_switch0 + port5 + + + 161 + + + pc0 + pc1 + NeedsLocalIPTo + + + pc1 + pc2 + NeedsLocalIPTo + + + pc2 + pc3 + NeedsLocalIPTo + + + pc3 + server0 + NeedsLocalIPTo + + IP + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-MidDHCP.enbx b/EduNetworkBuilder/Resources/Level1-MidDHCP.enbx new file mode 100644 index 0000000..c57be9e --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-MidDHCP.enbx @@ -0,0 +1,865 @@ + + + + + These IP-Phones cannot have a static IP. You must add a server on the 192.168.1.0 network and configure the DHCP server. Give an IP to the phone, so the phone can ping the PCs on the other side of the network + Add DHCP Server + 1024 + 1024 + 100 + False + 1 + 05.00 + 146 + none + + ip_phone0 + 100 + 100 + 360,470 + ip_phone + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + ip_phone0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + ip_phone0 + eth0 + + eth + 102 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 103 + 240,310 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + net_switch0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 103 + 105 + net_switch0 + management_interface0 + + management_interface + 105 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 103 + 106 + net_switch0 + port1 + + port + 106 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 103 + 107 + net_switch0 + port2 + + port + 107 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 103 + 108 + net_switch0 + port3 + + port + 108 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 103 + 109 + net_switch0 + port4 + + port + 109 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 103 + 110 + net_switch0 + port5 + + port + 110 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 103 + 111 + net_switch0 + port6 + + port + 111 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 103 + 112 + net_switch0 + port7 + + port + 112 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 120 + 750,320 + net_switch + False + False + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + net_switch1 + lo0 + + lo + 121 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 120 + 122 + net_switch1 + management_interface0 + + management_interface + 122 + False + + management_interface0 + + 192.168.5.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 120 + 123 + net_switch1 + port1 + + port + 123 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 120 + 124 + net_switch1 + port2 + + port + 124 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 120 + 125 + net_switch1 + port3 + + port + 125 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 120 + 126 + net_switch1 + port4 + + port + 126 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 120 + 127 + net_switch1 + port5 + + port + 127 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 120 + 128 + net_switch1 + port6 + + port + 128 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 120 + 129 + net_switch1 + port7 + + port + 129 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 130 + 750,470 + pc + False + False + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc0 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc0 + eth0 + + eth + 132 + False + + eth0 + + 192.168.5.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 133 + 610,470 + pc + False + False + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc1 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc1 + eth0 + + eth + 135 + False + + eth0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 136 + 880,470 + pc + False + False + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc2 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc2 + eth0 + + eth + 138 + False + + eth0 + + 192.168.5.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 116 + 470,150 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 116 + 117 + router0 + lo0 + + lo + 117 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 116 + 118 + router0 + eth0 + + eth + 118 + False + + eth0 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 116 + 119 + router0 + eth1 + + eth + 119 + False + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 133 + 135 + pc1 + eth0 + + + 120 + 123 + net_switch1 + port1 + + + 139 + + + + 130 + 132 + pc0 + eth0 + + + 120 + 124 + net_switch1 + port2 + + + 140 + + + + 136 + 138 + pc2 + eth0 + + + 120 + 125 + net_switch1 + port3 + + + 141 + + + + 120 + 126 + net_switch1 + port4 + + + 116 + 118 + router0 + eth0 + + + 142 + + + + 103 + 106 + net_switch0 + port1 + + + 116 + 119 + router0 + eth1 + + + 143 + + + + 100 + 102 + ip_phone0 + eth0 + + + 103 + 108 + net_switch0 + port3 + + + 145 + + + ip_phone0 + router0 + NeedsDefaultGW + + + ip_phone0 + pc0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-MixedNetwork.enbx b/EduNetworkBuilder/Resources/Level1-MixedNetwork.enbx new file mode 100644 index 0000000..7e2968b --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-MixedNetwork.enbx @@ -0,0 +1,404 @@ + + + + + This puzzle has three tasks to it: +1) Give the switch an IP address +2) Add an IP-Phone to the network, linking it to the switch, and then do a DHCP request for it. +3) Ping the switch from the IP-Phone + Adding Devices + 1024 + 1024 + 100 + True + 1 + 4.3 + 121 + basic + + net_switch0 + 100 + 103 + 380,350 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + net_switch0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 103 + 105 + net_switch0 + management_interface0 + + management_interface + 105 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 103 + 106 + net_switch0 + port1 + + port + 106 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 103 + 107 + net_switch0 + port2 + + port + 107 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 103 + 108 + net_switch0 + port3 + + port + 108 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 103 + 109 + net_switch0 + port4 + + port + 109 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 103 + 110 + net_switch0 + port5 + + port + 110 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 103 + 111 + net_switch0 + port6 + + port + 111 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 103 + 112 + net_switch0 + port7 + + port + 112 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 113 + 380,520 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + pc0 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 113 + 115 + pc0 + eth0 + + eth + 115 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 192.168.1.40 + ip + + + + + + server0 + 100 + 100 + 180,350 + server + False + True + + 192.168.1.254 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.1 + 192.168.1.20 + 192.168.1.40 + route + + + + + 100 + 102 + server0 + eth0 + + + 103 + 106 + net_switch0 + port1 + + + 116 + + + + 113 + 115 + pc0 + eth0 + + + 103 + 107 + net_switch0 + port2 + + + 117 + + + net_switch0 + server0 + NeedsLocalIPTo + + + ip_phone0 + net_switch0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1-NoGateway.enbx b/EduNetworkBuilder/Resources/Level1-NoGateway.enbx new file mode 100644 index 0000000..8228f2b --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1-NoGateway.enbx @@ -0,0 +1,805 @@ + + + + + The items on one network cannot ping the items on the other network (separated by the router). Figure why and fix it. All computers and switches need fixing, but the router is OK. + Gateway Puzzle + 1024 + 1024 + 100 + False + 142 + 1 + 03.00 + + net_switch0 + 100 + 100 + 403,305 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + net_switch0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 100 + 102 + net_switch0 + management_interface0 + + management_interface + 102 + False + + management_interface0 + + 192.168.2.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 100 + 103 + net_switch0 + port1 + + port + 103 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 100 + 104 + net_switch0 + port2 + + port + 104 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 100 + 105 + net_switch0 + port3 + + port + 105 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 100 + 106 + net_switch0 + port4 + + port + 106 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 100 + 107 + net_switch0 + port5 + + port + 107 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 100 + 108 + net_switch0 + port6 + + port + 108 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 100 + 109 + net_switch0 + port7 + + port + 109 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 126 + 250,502 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 126 + 127 + net_switch1 + lo0 + + lo + 127 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 126 + 128 + net_switch1 + management_interface0 + + management_interface + 128 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 126 + 129 + net_switch1 + port1 + + port + 129 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 126 + 130 + net_switch1 + port2 + + port + 130 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 126 + 131 + net_switch1 + port3 + + port + 131 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 126 + 132 + net_switch1 + port4 + + port + 132 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 126 + 133 + net_switch1 + port5 + + port + 133 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 126 + 134 + net_switch1 + port6 + + port + 134 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 126 + 135 + net_switch1 + port7 + + port + 135 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 136 + 252,704 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc0 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc0 + eth0 + + eth + 138 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 113 + 639,418 + pc + False + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + pc1 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 113 + 115 + pc1 + eth0 + + eth + 115 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 116 + 639,204 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 116 + 117 + pc2 + lo0 + + lo + 117 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 116 + 118 + pc2 + eth0 + + eth + 118 + False + + eth0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 122 + 252,303 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + router0 + lo0 + + lo + 123 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 122 + 124 + router0 + eth0 + + eth + 124 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 122 + 125 + router0 + eth1 + + eth + 125 + False + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 103 + net_switch0 + port1 + + + 116 + 118 + pc2 + eth0 + + + 119 + + + + 100 + 104 + net_switch0 + port2 + + + 113 + 115 + pc1 + eth0 + + + 120 + + + + 100 + 105 + net_switch0 + port3 + + + 122 + 124 + router0 + eth0 + + + 139 + + + + 122 + 125 + router0 + eth1 + + + 126 + 129 + net_switch1 + port1 + + + 140 + + + + 126 + 130 + net_switch1 + port2 + + + 136 + 138 + pc0 + eth0 + + + 141 + + + pc0 + router0 + NeedsDefaultGW + + + net_switch0 + router0 + NeedsDefaultGW + + + net_switch1 + router0 + NeedsDefaultGW + + + pc1 + router0 + NeedsDefaultGW + + + pc2 + router0 + NeedsDefaultGW + + Gateway + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1_BadGateway.enbx b/EduNetworkBuilder/Resources/Level1_BadGateway.enbx new file mode 100644 index 0000000..304cdfa --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1_BadGateway.enbx @@ -0,0 +1,1171 @@ + + + + + Computers can only communicate with other computers that are local to them. Gateways must have an IP address that is local to the client. Ping pc0 from pc1 and see if you can spot the error. + Bad Gateway + 1024 + 1024 + 100 + False + 1 + 6 + 160 + full + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 736,397 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 610,513 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 152 + 212,530 + pc + False + False + + 192.168.10.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 132 + 112,260 + router + False + False + + 192.168.3.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 132 + 133 + router0 + lo0 + + lo + 133 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 132 + 134 + router0 + eth0 + + eth + 134 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + eth0 + + 192.168.10.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 132 + 135 + router0 + eth1 + + eth + 135 + False + + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + + router1 + 100 + 136 + 736,257 + router + False + False + + 192.168.4.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 136 + 137 + router1 + lo0 + + lo + 137 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + router1 + eth0 + + eth + 138 + False + + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 136 + 139 + router1 + eth1 + + eth + 139 + False + + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + + router2 + 100 + 140 + 403,110 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + router2 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + router2 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 140 + 143 + router2 + eth1 + + eth + 143 + False + + + eth1 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.5 + 192.168.1.7 + route + + + + server1 + 100 + 103 + 862,520 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 140 + 143 + router2 + eth1 + + + 136 + 138 + router1 + eth0 + + + 148 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 103 + 105 + server1 + eth0 + + + 122 + 126 + net_switch1 + port2 + + + 150 + + + + 136 + 139 + router1 + eth1 + + + 122 + 125 + net_switch1 + port1 + + + 149 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 132 + 135 + router0 + eth1 + + + 140 + 142 + router2 + eth0 + + + 147 + + + + 112 + 117 + net_switch0 + port3 + + + 132 + 134 + router0 + eth0 + + + 146 + + + pc1 + pc0 + SuccessfullyPings + + Gateway + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1_DuplicateMAC.enbx b/EduNetworkBuilder/Resources/Level1_DuplicateMAC.enbx new file mode 100644 index 0000000..88c6d2a --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1_DuplicateMAC.enbx @@ -0,0 +1,466 @@ + + + + + This puzzle shows you what happens when there are duplicate MAC addresses. This rarely happens, but it used to happen more often than should be statistically probable. Cheap network card vendors used to make batches of cards with the same MAC address, and occasionally someone would buy two of them. The best solution is to replace one of the NICs that has the duplicate MAC address. Ping both pc0 and pc1 from pc2. + Duplicate MAC addresses + 1024 + 1024 + 100 + True + 1 + 7 + 132 + full + + net_switch0 + 100 + 100 + 430,270 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + net_switch0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 100 + 102 + net_switch0 + management_interface0 + + management_interface + 102 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 100 + 103 + net_switch0 + port1 + + port + 103 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 100 + 104 + net_switch0 + port2 + + port + 104 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 100 + 105 + net_switch0 + port3 + + port + 105 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 100 + 106 + net_switch0 + port4 + + port + 106 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 100 + 107 + net_switch0 + port5 + + port + 107 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 100 + 108 + net_switch0 + port6 + + port + 108 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 100 + 109 + net_switch0 + port7 + + port + 109 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 120 + 150,450 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + pc0 + lo0 + + lo + 121 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 120 + 122 + pc0 + eth0 + + 1008b173aa5b + eth + 122 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 123 + 420,560 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + pc1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + pc1 + eth0 + + 1008b173aa5b + eth + 125 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 126 + 740,450 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 126 + 127 + pc2 + lo0 + + lo + 127 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 126 + 128 + pc2 + eth0 + + eth + 128 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 120 + 122 + pc0 + eth0 + + + 100 + 103 + net_switch0 + port1 + + + 129 + + + + 123 + 125 + pc1 + eth0 + + + 100 + 104 + net_switch0 + port2 + + + 130 + + + + 126 + 128 + pc2 + eth0 + + + 100 + 105 + net_switch0 + port3 + + + 131 + + + pc2 + pc0 + SuccessfullyPings + + + pc2 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets.enbx b/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets.enbx new file mode 100644 index 0000000..e563fd1 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets.enbx @@ -0,0 +1,771 @@ + + + + + This network has two different subnets using the same switch. Ping from the different PCs to machines on the other network. + Two Subnets, Shared Network + 1024 + 1024 + 100 + True + 1 + 4 + 137 + full + + net_switch0 + 100 + 109 + 390,400 + net_switch + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + management_interface0 + + 192.168.1.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 121 + 80,490 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 121 + 122 + pc0 + lo0 + + lo + 122 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 121 + 123 + pc0 + eth0 + + eth + 123 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 124 + 90,820 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + pc1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 124 + 126 + pc1 + eth0 + + eth + 126 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 127 + 710,820 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 127 + 128 + pc2 + lo0 + + lo + 128 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 127 + 129 + pc2 + eth0 + + eth + 129 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 130 + 760,500 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc3 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc3 + eth0 + + eth + 132 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 100 + 220,60 + router + False + False + + 192.168.5.2 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + router0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + router0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + router0 + eth1 + + eth + 103 + False + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router1 + 100 + 104 + 560,60 + router + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 104 + 105 + router1 + lo0 + + lo + 105 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 104 + 106 + router1 + eth0 + + eth + 106 + False + + eth0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 104 + 107 + router1 + eth1 + + eth + 107 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + router0 + eth0 + + + 104 + 106 + router1 + eth0 + + + 108 + + + + 100 + 103 + router0 + eth1 + + + 109 + 112 + net_switch0 + port1 + + + 119 + + + + 109 + 113 + net_switch0 + port2 + + + 104 + 107 + router1 + eth1 + + + 120 + + + + 121 + 123 + pc0 + eth0 + + + 109 + 114 + net_switch0 + port3 + + + 133 + + + + 124 + 126 + pc1 + eth0 + + + 109 + 115 + net_switch0 + port4 + + + 134 + + + + 127 + 129 + pc2 + eth0 + + + 109 + 116 + net_switch0 + port5 + + + 135 + + + + 130 + 132 + pc3 + eth0 + + + 109 + 117 + net_switch0 + port6 + + + 136 + + + pc0 + pc1 + SuccessfullyPings + + + pc0 + pc2 + SuccessfullyPings + + + pc3 + pc1 + SuccessfullyPings + + + pc3 + pc2 + SuccessfullyPings + + + pc0 + 192.168.1.255 + SuccessfullyPings + + + pc3 + 192.168.2.255 + SuccessfullyPings + + Ping + Subnets + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets2.enbx b/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets2.enbx new file mode 100644 index 0000000..3dfb26e --- /dev/null +++ b/EduNetworkBuilder/Resources/Level1_OneNetTwoSubnets2.enbx @@ -0,0 +1,667 @@ + + + + + This network has two different subnets using the same switch. The router has two interfaces (IP addresses, both on eth0). One network card functions like two. Ping from the different PCs to machines on the other network. + Two Subnets, Shared Network + 1024 + 1024 + 100 + True + 1 + 4.1 + 142 + full + + net_switch0 + 100 + 109 + 390,400 + net_switch + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + management_interface0 + + 192.168.1.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 121 + 80,490 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 121 + 122 + pc0 + lo0 + + lo + 122 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 121 + 123 + pc0 + eth0 + + eth + 123 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 124 + 90,820 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + pc1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 124 + 126 + pc1 + eth0 + + eth + 126 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 127 + 710,820 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 127 + 128 + pc2 + lo0 + + lo + 128 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 127 + 129 + pc2 + eth0 + + eth + 129 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 130 + 760,500 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + pc3 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 130 + 132 + pc3 + eth0 + + eth + 132 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 137 + 390,190 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + router0 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + router0 + eth0 + + eth + 139 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 137 + 140 + router0 + eth1 + + eth + 140 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + + 121 + 123 + pc0 + eth0 + + + 109 + 114 + net_switch0 + port3 + + + 133 + + + + 124 + 126 + pc1 + eth0 + + + 109 + 115 + net_switch0 + port4 + + + 134 + + + + 127 + 129 + pc2 + eth0 + + + 109 + 116 + net_switch0 + port5 + + + 135 + + + + 130 + 132 + pc3 + eth0 + + + 109 + 117 + net_switch0 + port6 + + + 136 + + + + 109 + 112 + net_switch0 + port1 + + + 137 + 139 + router0 + eth0 + + + 141 + + + pc0 + pc1 + SuccessfullyPings + + + pc0 + pc2 + SuccessfullyPings + + + pc3 + pc1 + SuccessfullyPings + + + pc3 + pc2 + SuccessfullyPings + + + pc0 + 192.168.1.255 + SuccessfullyPings + + + pc3 + 192.168.2.255 + SuccessfullyPings + + Ping + Subnets + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Bad_Encryption.enbx b/EduNetworkBuilder/Resources/Level2_Bad_Encryption.enbx new file mode 100644 index 0000000..88e64f8 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Bad_Encryption.enbx @@ -0,0 +1,1174 @@ + + + + + The VPNs need their encryption keys fixed. Ping from pc0 to pc1 to ensure it works. + Bad Encryption + 1024 + 1024 + 100 + False + 2 + 1.1 + 187 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Key + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + llave + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + pc0 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Bad_Route.enbx b/EduNetworkBuilder/Resources/Level2_Bad_Route.enbx new file mode 100644 index 0000000..4ca0bd5 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Bad_Route.enbx @@ -0,0 +1,1173 @@ + + + + + One of the firewalls is missing a route to tell it to use the VPN. Configure the route and then ping from pc0 to pc1 to make sure it works. + Bad Route + 1024 + 1024 + 100 + False + 2 + 1.3 + 187 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + pc0 + pc1 + SuccessfullyPings + + + firewall0 + 192.168.2.0 + NeedsRouteToNet + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Bad_VPN_IP.enbx b/EduNetworkBuilder/Resources/Level2_Bad_VPN_IP.enbx new file mode 100644 index 0000000..09020f8 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Bad_VPN_IP.enbx @@ -0,0 +1,1211 @@ + + + + + The VPN Network card has the wrong IP address. Fix the IP address on the firewall VPN, and then ping from pc0 to pc1 through the VPN. + Bad VPN IP + 1024 + 1024 + 100 + False + 2 + 1.2 + 187 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + pc0 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Blast_From_Past.enbx b/EduNetworkBuilder/Resources/Level2_Blast_From_Past.enbx new file mode 100644 index 0000000..e152f8a --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Blast_From_Past.enbx @@ -0,0 +1,1185 @@ + + + + + There are a few problems with this puzzle. PC0 needs to ping PC1, and PC1 needs to ping PC0 + Blast from the past + 1024 + 1024 + 100 + False + 2 + 5 + 186 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.3.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + pc0 + pc1 + SuccessfullyPings + + + pc1 + pc0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Build_A_VPN.enbx b/EduNetworkBuilder/Resources/Level2_Build_A_VPN.enbx new file mode 100644 index 0000000..a2beaf2 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Build_A_VPN.enbx @@ -0,0 +1,1121 @@ + + + + + Both firewalls need their VPNs configured. Do not forget to make the right routes! + Build a VPN + 1024 + 1024 + 100 + False + 2 + 5 + 186 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + firewall0 + 192.168.2.0 + NeedsRouteToNet + + + firewall1 + 192.168.1.0 + NeedsRouteToNet + + + pc0 + pc1 + SuccessfullyPings + + VPN + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Connect_The_Dots.enbx b/EduNetworkBuilder/Resources/Level2_Connect_The_Dots.enbx new file mode 100644 index 0000000..a85e776 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Connect_The_Dots.enbx @@ -0,0 +1,1153 @@ + + + + + Connect the firewalls to the router, setting up working IPs. Do not forget the VPN! + Connect the dots + 1024 + 1024 + 100 + False + 2 + 6 + 186 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 420,270 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + router0 + All + LockAll + + + pc0 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_FirewallDemo.enbx b/EduNetworkBuilder/Resources/Level2_FirewallDemo.enbx new file mode 100644 index 0000000..f5517c4 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_FirewallDemo.enbx @@ -0,0 +1,1232 @@ + + + + + This puzzle shows off how a firewall works. You can ping out of a firewall, but not ping the computers behind it. To "solve" this, ping the lone computer from both subnets, and try to ping both subnets from the lone pc. + Firewall Test + 1024 + 1024 + 100 + False + 2 + 0 + 158 + full + + firewall0 + 100 + 100 + 410,410 + firewall + False + True + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + route + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.1 + 192.168.1.5 + 192.168.1.10 + route + + + 192.168.2.1 + 192.168.2.5 + 192.168.2.10 + route + + + + net_switch0 + 100 + 105 + 410,190 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + net_switch0 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 105 + 107 + net_switch0 + management_interface0 + + management_interface + 107 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 105 + 108 + net_switch0 + port1 + + port + 108 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 105 + 109 + net_switch0 + port2 + + port + 109 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 105 + 110 + net_switch0 + port3 + + port + 110 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 105 + 111 + net_switch0 + port4 + + port + 111 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 105 + 112 + net_switch0 + port5 + + port + 112 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 105 + 113 + net_switch0 + port6 + + port + 113 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 105 + 114 + net_switch0 + port7 + + port + 114 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 118 + 230,410 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 118 + 119 + net_switch1 + lo0 + + lo + 119 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 118 + 120 + net_switch1 + management_interface0 + + management_interface + 120 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 118 + 121 + net_switch1 + port1 + + port + 121 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 118 + 122 + net_switch1 + port2 + + port + 122 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 118 + 123 + net_switch1 + port3 + + port + 123 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 118 + 124 + net_switch1 + port4 + + port + 124 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 118 + 125 + net_switch1 + port5 + + port + 125 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 118 + 126 + net_switch1 + port6 + + port + 126 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 118 + 127 + net_switch1 + port7 + + port + 127 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 139 + 640,410 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 139 + 140 + net_switch2 + lo0 + + lo + 140 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 139 + 141 + net_switch2 + management_interface0 + + management_interface + 141 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 139 + 142 + net_switch2 + port1 + + port + 142 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 139 + 143 + net_switch2 + port2 + + port + 143 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 139 + 144 + net_switch2 + port3 + + port + 144 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 139 + 145 + net_switch2 + port4 + + port + 145 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 139 + 146 + net_switch2 + port5 + + port + 146 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 139 + 147 + net_switch2 + port6 + + port + 147 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 139 + 148 + net_switch2 + port7 + + port + 148 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 115 + 640,190 + pc + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 115 + 116 + pc0 + lo0 + + lo + 116 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 115 + 117 + pc0 + eth0 + + eth + 117 + False + + eth0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 128 + 230,600 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 128 + 129 + pc1 + lo0 + + lo + 129 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 128 + 130 + pc1 + eth0 + + eth + 130 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 135 + 90,590 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 135 + 136 + pc2 + lo0 + + lo + 136 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 135 + 137 + pc2 + eth0 + + eth + 137 + True + + eth0 + + 192.168.1.5 + 255.255.255.0 + 192.168.1.1 + route + + + + + + pc3 + 100 + 149 + 640,600 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 149 + 150 + pc3 + lo0 + + lo + 150 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 149 + 151 + pc3 + eth0 + + eth + 151 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 154 + 760,600 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 154 + 155 + pc4 + lo0 + + lo + 155 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 154 + 156 + pc4 + eth0 + + eth + 156 + True + + eth0 + + 192.168.2.5 + 255.255.255.0 + 192.168.2.1 + route + + + + + + + 128 + 130 + pc1 + eth0 + + + 118 + 121 + net_switch1 + port1 + + + 131 + + + + 118 + 122 + net_switch1 + port2 + + + 100 + 102 + firewall0 + eth0 + + + 132 + + + + 100 + 104 + firewall0 + wan0 + + + 105 + 108 + net_switch0 + port1 + + + 133 + + + + 105 + 109 + net_switch0 + port2 + + + 115 + 117 + pc0 + eth0 + + + 134 + + + + 135 + 137 + pc2 + eth0 + + + 118 + 123 + net_switch1 + port3 + + + 138 + + + + 100 + 103 + firewall0 + eth1 + + + 139 + 142 + net_switch2 + port1 + + + 152 + + + + 139 + 143 + net_switch2 + port2 + + + 149 + 151 + pc3 + eth0 + + + 153 + + + + 154 + 156 + pc4 + eth0 + + + 139 + 144 + net_switch2 + port3 + + + 157 + + + pc0 + pc1 + FailedPing + + + pc0 + pc3 + FailedPing + + + pc2 + pc0 + SuccessfullyPings + + + pc4 + pc0 + SuccessfullyPings + + + pc4 + pc2 + SuccessfullyPings + + Firewall + Ping + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_Not_Working.enbx b/EduNetworkBuilder/Resources/Level2_Not_Working.enbx new file mode 100644 index 0000000..d4d1e24 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_Not_Working.enbx @@ -0,0 +1,1162 @@ + + + + + Someone has been trying to set up a VPN between two sites. "It is just not working!" they tell you. Guess it is up to you to figure out what they did wrong. Get PC0 to ping PC1 + Not Working + 1024 + 1024 + 100 + False + 2 + 7 + 186 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + pc0 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level2_VPN_Demo.enbx b/EduNetworkBuilder/Resources/Level2_VPN_Demo.enbx new file mode 100644 index 0000000..0abaef1 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level2_VPN_Demo.enbx @@ -0,0 +1,1792 @@ + + + + + Some devices allow you to create VPNs. A Virtual Private Network (VPN) allows you to connect up to things behind a firewall. For this example, you need to ping from pc0 to a number of different things just to see how the VPN works. Make sure you edit one or more of the firewalls to see how the VPN is configured, and see how the static route is defined to make the packets go through the VPN. You will need to know how that works to solve the rest of this level. + VPN Demo + 1024 + 1024 + 100 + False + 2 + 1 + 186 + full + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 100 + 184 + firewall0 + vpn1 + + vpn + 184 + False + Secondary + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall2 + 100 + 158 + 430,230 + firewall + False + False + + 192.168.7.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 158 + 159 + firewall2 + lo0 + + lo + 159 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 158 + 162 + firewall2 + wan0 + + wan + 162 + False + + wan0 + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 158 + 160 + firewall2 + eth0 + + eth + 160 + False + + eth0 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 158 + 161 + firewall2 + eth1 + + eth + 161 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 158 + 185 + firewall2 + vpn0 + + vpn + 185 + False + Secondary + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.51.1 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.51.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop2 + 100 + 176 + 570,0 + laptop + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + laptop2 + lo0 + + lo + 177 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + laptop2 + eth0 + + eth + 178 + False + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 163 + 430,80 + net_switch + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 163 + 164 + net_switch2 + lo0 + + lo + 164 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 163 + 165 + net_switch2 + management_interface0 + + management_interface + 165 + False + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 163 + 166 + net_switch2 + port1 + + port + 166 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 163 + 167 + net_switch2 + port2 + + port + 167 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 163 + 168 + net_switch2 + port3 + + port + 168 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 163 + 169 + net_switch2 + port4 + + port + 169 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 163 + 170 + net_switch2 + port5 + + port + 170 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 163 + 171 + net_switch2 + port6 + + port + 171 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 163 + 172 + net_switch2 + port7 + + port + 172 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 173 + 260,10 + pc + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + pc2 + lo0 + + lo + 174 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + pc2 + eth0 + + eth + 175 + False + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth2 + + 110 + 182 + router0 + eth2 + + eth + 182 + False + + eth2 + + 192.168.7.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 163 + 166 + net_switch2 + port1 + + + 173 + 175 + pc2 + eth0 + + + 179 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 158 + 160 + firewall2 + eth0 + + + 163 + 168 + net_switch2 + port3 + + + 181 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + + 163 + 167 + net_switch2 + port2 + + + 176 + 178 + laptop2 + eth0 + + + 180 + + + + 158 + 162 + firewall2 + wan0 + + + 110 + 182 + router0 + eth2 + + + 183 + + + pc0 + pc1 + SuccessfullyPings + + + pc0 + pc2 + SuccessfullyPings + + + pc2 + pc1 + SuccessfullyPings + + + pc0 + firewall1 + SuccessfullyPings + + + pc0 + firewall2 + SuccessfullyPings + + firewall + VPN + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_BlackHole.enbx b/EduNetworkBuilder/Resources/Level3_BlackHole.enbx new file mode 100644 index 0000000..745d1bb --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_BlackHole.enbx @@ -0,0 +1,1609 @@ + + + + + There is a black-hole that is eating all the packets. Determine why and fix it. + Black Hole + 1024 + 1024 + 100 + False + 3 + 4 + 177 + full + + net_switch0 + 100 + 120 + 134,649 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + net_switch0 + lo0 + + lo + 121 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 120 + 122 + net_switch0 + management_interface0 + + management_interface + 122 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 120 + 123 + net_switch0 + port1 + + port + 123 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 120 + 124 + net_switch0 + port2 + + port + 124 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 120 + 125 + net_switch0 + port3 + + port + 125 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 120 + 126 + net_switch0 + port4 + + port + 126 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 120 + 127 + net_switch0 + port5 + + port + 127 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 120 + 128 + net_switch0 + port6 + + port + 128 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 120 + 129 + net_switch0 + port7 + + port + 129 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 130 + 769,649 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + net_switch1 + lo0 + + lo + 131 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 130 + 132 + net_switch1 + management_interface0 + + management_interface + 132 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 130 + 133 + net_switch1 + port1 + + port + 133 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 130 + 134 + net_switch1 + port2 + + port + 134 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 130 + 135 + net_switch1 + port3 + + port + 135 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 130 + 136 + net_switch1 + port4 + + port + 136 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 130 + 137 + net_switch1 + port5 + + port + 137 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 130 + 138 + net_switch1 + port6 + + port + 138 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 130 + 139 + net_switch1 + port7 + + port + 139 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 140 + 422,124 + net_switch + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + net_switch2 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 140 + 142 + net_switch2 + management_interface0 + + management_interface + 142 + False + + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 140 + 143 + net_switch2 + port1 + + port + 143 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 140 + 144 + net_switch2 + port2 + + port + 144 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 140 + 145 + net_switch2 + port3 + + port + 145 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 140 + 146 + net_switch2 + port4 + + port + 146 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 140 + 147 + net_switch2 + port5 + + port + 147 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 140 + 148 + net_switch2 + port6 + + port + 148 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 140 + 149 + net_switch2 + port7 + + port + 149 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 150 + 319,11 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 150 + 151 + pc0 + lo0 + + lo + 151 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 150 + 152 + pc0 + eth0 + + eth + 152 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 153 + 515,8 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 153 + 154 + pc1 + lo0 + + lo + 154 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 153 + 155 + pc1 + eth0 + + eth + 155 + False + + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 156 + 702,793 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 156 + 157 + pc2 + lo0 + + lo + 157 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 156 + 158 + pc2 + eth0 + + eth + 158 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 159 + 836,786 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 159 + 160 + pc3 + lo0 + + lo + 160 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 159 + 161 + pc3 + eth0 + + eth + 161 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 162 + 229,772 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 162 + 163 + pc4 + lo0 + + lo + 163 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 162 + 164 + pc4 + eth0 + + eth + 164 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc5 + 100 + 165 + 70,769 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 165 + 166 + pc5 + lo0 + + lo + 166 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 165 + 167 + pc5 + eth0 + + eth + 167 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 100 + 428,479 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + router0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + router0 + eth0 + + eth + 102 + False + + + eth0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + router0 + eth1 + + eth + 103 + False + + + eth1 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth3 + + 100 + 118 + router0 + eth3 + + eth + 118 + False + + + eth3 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router1 + 100 + 104 + 752,502 + router + False + False + + 192.168.20.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 104 + 105 + router1 + lo0 + + lo + 105 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 104 + 106 + router1 + eth0 + + eth + 106 + False + + + eth0 + + 192.168.20.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 104 + 107 + router1 + eth1 + + eth + 107 + False + + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router2 + 100 + 108 + 143,509 + router + False + False + + 192.168.10.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 108 + 109 + router2 + lo0 + + lo + 109 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 108 + 110 + router2 + eth0 + + eth + 110 + False + + + eth0 + + 192.168.10.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 108 + 111 + router2 + eth1 + + eth + 111 + False + + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router3 + 100 + 112 + 428,260 + router + False + False + + 192.168.30.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + router3 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 112 + 114 + router3 + eth0 + + eth + 114 + False + + + eth0 + + 192.168.30.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 112 + 115 + router3 + eth1 + + eth + 115 + False + + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + router0 + eth0 + + + 108 + 110 + router2 + eth0 + + + 116 + + + + 159 + 161 + pc3 + eth0 + + + 130 + 135 + net_switch1 + port3 + + + 173 + + + + 130 + 133 + net_switch1 + port1 + + + 104 + 107 + router1 + eth1 + + + 171 + + + + 162 + 164 + pc4 + eth0 + + + 120 + 124 + net_switch0 + port2 + + + 169 + + + + 100 + 103 + router0 + eth1 + + + 104 + 106 + router1 + eth0 + + + 117 + + + + 140 + 144 + net_switch2 + port2 + + + 150 + 152 + pc0 + eth0 + + + 175 + + + + 100 + 118 + router0 + eth3 + + + 112 + 114 + router3 + eth0 + + + 119 + + + + 165 + 167 + pc5 + eth0 + + + 120 + 123 + net_switch0 + port1 + + + 168 + + + + 120 + 125 + net_switch0 + port3 + + + 108 + 111 + router2 + eth1 + + + 170 + + + + 156 + 158 + pc2 + eth0 + + + 130 + 134 + net_switch1 + port2 + + + 172 + + + + 112 + 115 + router3 + eth1 + + + 140 + 143 + net_switch2 + port1 + + + 174 + + + + 140 + 145 + net_switch2 + port3 + + + 153 + 155 + pc1 + eth0 + + + 176 + + + pc5 + pc3 + SuccessfullyPings + + + pc5 + pc0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_Busted.enbx b/EduNetworkBuilder/Resources/Level3_Busted.enbx new file mode 100644 index 0000000..c64e421 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_Busted.enbx @@ -0,0 +1,574 @@ + + + + + Something does not work. Get laptop0 to ping laptop1 + Busted + 1024 + 1024 + 100 + False + 3 + 1 + 130 + none + + laptop0 + 100 + 103 + 559,560 + laptop + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + laptop0 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + laptop0 + eth0 + + eth + 105 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 123 + 680,147 + laptop + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + laptop1 + lo0 + + lo + 124 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + laptop1 + eth0 + + eth + 125 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 109 + 406,328 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 100 + 246,560 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 119 + 400,158 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 119 + 120 + router0 + lo0 + + lo + 120 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 119 + 121 + router0 + eth0 + + eth + 121 + False + + + eth0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 119 + 122 + router0 + eth1 + + eth + 122 + False + + + eth1 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + pc0 + eth0 + + + 109 + 112 + net_switch0 + port1 + + + 126 + + + + 103 + 105 + laptop0 + eth0 + + + 109 + 113 + net_switch0 + port2 + + + 127 + + + + 109 + 114 + net_switch0 + port3 + + + 119 + 121 + router0 + eth0 + + + 128 + + + + 119 + 122 + router0 + eth1 + + + 123 + 125 + laptop1 + eth0 + + + 129 + + + laptop0 + laptop1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_Dead.enbx b/EduNetworkBuilder/Resources/Level3_Dead.enbx new file mode 100644 index 0000000..75988b8 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_Dead.enbx @@ -0,0 +1,1330 @@ + + + + + This network has a number of small glitches with it. Luckily, they know your phone number. It is nice having a techie around when things go wrong! + It is dead, Jim! + 1024 + 1024 + 100 + True + 3 + 6 + 160 + full + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 736,397 + net_switch + False + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + + management_interface0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 106 + 103,530 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc0 + lo0 + + lo + 107 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc0 + eth0 + + eth + 108 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 610,513 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 212,530 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 155 + 733,516 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 155 + 156 + pc3 + lo0 + + lo + 156 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 155 + 157 + pc3 + eth0 + + eth + 157 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 132 + 112,260 + router + False + False + + 192.168.3.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 132 + 133 + router0 + lo0 + + lo + 133 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 132 + 134 + router0 + eth0 + + eth + 134 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 132 + 135 + router0 + eth1 + + eth + 135 + False + + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + + router1 + 100 + 136 + 736,257 + router + False + False + + 192.168.4.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 136 + 137 + router1 + lo0 + + lo + 137 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + router1 + eth0 + + eth + 138 + False + + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 136 + 139 + router1 + eth1 + + eth + 139 + False + + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + + router2 + 100 + 140 + 403,110 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + router2 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + router2 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 140 + 143 + router2 + eth1 + + eth + 143 + False + + + eth1 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.8.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.1 + 192.168.1.3 + route + + + + server1 + 100 + 103 + 862,520 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 140 + 143 + router2 + eth1 + + + 136 + 138 + router1 + eth0 + + + 148 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 103 + 105 + server1 + eth0 + + + 122 + 126 + net_switch1 + port2 + + + 150 + + + + 136 + 139 + router1 + eth1 + + + 122 + 125 + net_switch1 + port1 + + + 149 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 132 + 135 + router0 + eth1 + + + 140 + 142 + router2 + eth0 + + + 147 + + + + 112 + 117 + net_switch0 + port3 + + + 132 + 134 + router0 + eth0 + + + 146 + + + + 106 + 108 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 145 + + + + 155 + 157 + pc3 + eth0 + + + 122 + 128 + net_switch1 + port4 + + + 158 + + + pc2 + net_switch1 + SuccessfullyPings + + + pc2 + pc0 + SuccessfullyPings + + + pc2 + router1 + SuccessfullyPings + + + pc2 + pc3 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_EncryptionTroubles.enbx b/EduNetworkBuilder/Resources/Level3_EncryptionTroubles.enbx new file mode 100644 index 0000000..3348a56 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_EncryptionTroubles.enbx @@ -0,0 +1,1837 @@ + + + + + Your friends have another problem. There was an issue with the encryption on their VPN. They tried to fix it, but it is still failing. + Encryption Troubles + 1024 + 1024 + 100 + False + 3 + 8 + 187 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Secondary + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 100 + 184 + firewall0 + vpn1 + + vpn + 184 + False + New Key + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + NewKey + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall2 + 100 + 158 + 430,230 + firewall + False + False + + 192.168.7.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 158 + 159 + firewall2 + lo0 + + lo + 159 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 158 + 162 + firewall2 + wan0 + + wan + 162 + False + + + wan0 + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 158 + 160 + firewall2 + eth0 + + eth + 160 + False + + + eth0 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 158 + 161 + firewall2 + eth1 + + eth + 161 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 158 + 185 + firewall2 + vpn0 + + vpn + 185 + False + Secondary + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.51.1 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.51.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop2 + 100 + 176 + 570,0 + laptop + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + laptop2 + lo0 + + lo + 177 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + laptop2 + eth0 + + eth + 178 + False + + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 163 + 430,80 + net_switch + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 163 + 164 + net_switch2 + lo0 + + lo + 164 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 163 + 165 + net_switch2 + management_interface0 + + management_interface + 165 + False + + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 163 + 166 + net_switch2 + port1 + + port + 166 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 163 + 167 + net_switch2 + port2 + + port + 167 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 163 + 168 + net_switch2 + port3 + + port + 168 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 163 + 169 + net_switch2 + port4 + + port + 169 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 163 + 170 + net_switch2 + port5 + + port + 170 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 163 + 171 + net_switch2 + port6 + + port + 171 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 163 + 172 + net_switch2 + port7 + + port + 172 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 173 + 260,10 + pc + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + pc2 + lo0 + + lo + 174 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + pc2 + eth0 + + eth + 175 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth2 + + 110 + 182 + router0 + eth2 + + eth + 182 + False + + + eth2 + + 192.168.7.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 158 + 162 + firewall2 + wan0 + + + 110 + 182 + router0 + eth2 + + + normal + 183 + + + + 163 + 167 + net_switch2 + port2 + + + 176 + 178 + laptop2 + eth0 + + + normal + 180 + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + normal + 147 + + + + 163 + 166 + net_switch2 + port1 + + + 173 + 175 + pc2 + eth0 + + + normal + 179 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + normal + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + normal + 149 + + + + 110 + 112 + router0 + eth0 + + + 105 + 109 + firewall1 + wan0 + + + broken + 186 + + + + 158 + 160 + firewall2 + eth0 + + + 163 + 168 + net_switch2 + port3 + + + normal + 181 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + normal + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + normal + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + normal + 152 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + normal + 150 + + + pc2 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_GrandCentralStation.enbx b/EduNetworkBuilder/Resources/Level3_GrandCentralStation.enbx new file mode 100644 index 0000000..48d9a40 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_GrandCentralStation.enbx @@ -0,0 +1,1680 @@ + + + + + The router in the middle was replaced. While you are at it, they want you to create a VPN to connect all three networks. Hope they are paying you well! + Grand Central Station + 1024 + 1024 + 100 + False + 3 + 7 + 191 + none + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 100 + 184 + firewall0 + vpn1 + + vpn + 184 + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + CryptPass + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall2 + 100 + 158 + 430,230 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 158 + 159 + firewall2 + lo0 + + lo + 159 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 158 + 162 + firewall2 + wan0 + + wan + 162 + False + + + wan0 + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 158 + 160 + firewall2 + eth0 + + eth + 160 + False + + + eth0 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.51.1 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.51.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop2 + 100 + 176 + 570,0 + laptop + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + laptop2 + lo0 + + lo + 177 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + laptop2 + eth0 + + eth + 178 + False + + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 163 + 430,80 + net_switch + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 163 + 164 + net_switch2 + lo0 + + lo + 164 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 163 + 165 + net_switch2 + management_interface0 + + management_interface + 165 + False + + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 163 + 166 + net_switch2 + port1 + + port + 166 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 163 + 167 + net_switch2 + port2 + + port + 167 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 163 + 168 + net_switch2 + port3 + + port + 168 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 163 + 169 + net_switch2 + port4 + + port + 169 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 163 + 170 + net_switch2 + port5 + + port + 170 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 163 + 171 + net_switch2 + port6 + + port + 171 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 163 + 172 + net_switch2 + port7 + + port + 172 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 173 + 260,10 + pc + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + pc2 + lo0 + + lo + 174 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + pc2 + eth0 + + eth + 175 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 186 + 430,420 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 186 + 187 + router0 + lo0 + + lo + 187 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 186 + 188 + router0 + eth0 + + eth + 188 + False + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 186 + 189 + router0 + eth1 + + eth + 189 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth2 + + 186 + 190 + router0 + eth2 + + eth + 190 + False + + + eth2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 163 + 166 + net_switch2 + port1 + + + 173 + 175 + pc2 + eth0 + + + 179 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 158 + 160 + firewall2 + eth0 + + + 163 + 168 + net_switch2 + port3 + + + 181 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + + 163 + 167 + net_switch2 + port2 + + + 176 + 178 + laptop2 + eth0 + + + 180 + + + pc1 + pc0 + SuccessfullyPings + + + pc1 + pc2 + SuccessfullyPings + + + pc0 + pc2 + SuccessfullyPings + + + pc0 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_Middle_Man_Out.enbx b/EduNetworkBuilder/Resources/Level3_Middle_Man_Out.enbx new file mode 100644 index 0000000..ade2f36 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_Middle_Man_Out.enbx @@ -0,0 +1,1627 @@ + + + + + The techie setting this one up forgot something. Figure out what he forgot and find some way to fix it. + Middle Man Out + 1024 + 1024 + 100 + False + 3 + 5 + 177 + full + + net_switch0 + 100 + 120 + 134,649 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + net_switch0 + lo0 + + lo + 121 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 120 + 122 + net_switch0 + management_interface0 + + management_interface + 122 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 120 + 123 + net_switch0 + port1 + + port + 123 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 120 + 124 + net_switch0 + port2 + + port + 124 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 120 + 125 + net_switch0 + port3 + + port + 125 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 120 + 126 + net_switch0 + port4 + + port + 126 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 120 + 127 + net_switch0 + port5 + + port + 127 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 120 + 128 + net_switch0 + port6 + + port + 128 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 120 + 129 + net_switch0 + port7 + + port + 129 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 130 + 769,649 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + net_switch1 + lo0 + + lo + 131 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 130 + 132 + net_switch1 + management_interface0 + + management_interface + 132 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 130 + 133 + net_switch1 + port1 + + port + 133 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 130 + 134 + net_switch1 + port2 + + port + 134 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 130 + 135 + net_switch1 + port3 + + port + 135 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 130 + 136 + net_switch1 + port4 + + port + 136 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 130 + 137 + net_switch1 + port5 + + port + 137 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 130 + 138 + net_switch1 + port6 + + port + 138 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 130 + 139 + net_switch1 + port7 + + port + 139 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 140 + 422,124 + net_switch + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + net_switch2 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 140 + 142 + net_switch2 + management_interface0 + + management_interface + 142 + False + + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 140 + 143 + net_switch2 + port1 + + port + 143 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 140 + 144 + net_switch2 + port2 + + port + 144 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 140 + 145 + net_switch2 + port3 + + port + 145 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 140 + 146 + net_switch2 + port4 + + port + 146 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 140 + 147 + net_switch2 + port5 + + port + 147 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 140 + 148 + net_switch2 + port6 + + port + 148 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 140 + 149 + net_switch2 + port7 + + port + 149 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 150 + 319,11 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 150 + 151 + pc0 + lo0 + + lo + 151 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 150 + 152 + pc0 + eth0 + + eth + 152 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 153 + 515,8 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 153 + 154 + pc1 + lo0 + + lo + 154 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 153 + 155 + pc1 + eth0 + + eth + 155 + False + + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 156 + 702,793 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 156 + 157 + pc2 + lo0 + + lo + 157 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 156 + 158 + pc2 + eth0 + + eth + 158 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 159 + 836,786 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 159 + 160 + pc3 + lo0 + + lo + 160 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 159 + 161 + pc3 + eth0 + + eth + 161 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 162 + 229,772 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 162 + 163 + pc4 + lo0 + + lo + 163 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 162 + 164 + pc4 + eth0 + + eth + 164 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc5 + 100 + 165 + 70,769 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 165 + 166 + pc5 + lo0 + + lo + 166 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 165 + 167 + pc5 + eth0 + + eth + 167 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 100 + 428,479 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + router0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + router0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.10.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + router0 + eth1 + + eth + 103 + False + + + eth1 + + 192.168.20.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth3 + + 100 + 118 + router0 + eth3 + + eth + 118 + False + + + eth3 + + 192.168.30.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.10.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.20.1 + route + + + 192.168.3.0 + 255.255.255.0 + 192.168.30.1 + route + + + + router1 + 100 + 104 + 752,502 + router + False + False + + 192.168.20.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 104 + 105 + router1 + lo0 + + lo + 105 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 104 + 106 + router1 + eth0 + + eth + 106 + False + + + eth0 + + 192.168.20.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 104 + 107 + router1 + eth1 + + eth + 107 + False + + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router2 + 100 + 108 + 143,509 + router + False + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 108 + 109 + router2 + lo0 + + lo + 109 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 108 + 110 + router2 + eth0 + + eth + 110 + False + + + eth0 + + 192.168.10.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 108 + 111 + router2 + eth1 + + eth + 111 + False + + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router3 + 100 + 112 + 428,260 + router + False + False + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + router3 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 112 + 114 + router3 + eth0 + + eth + 114 + False + + + eth0 + + 192.168.30.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 112 + 115 + router3 + eth1 + + eth + 115 + False + + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + router0 + eth0 + + + 108 + 110 + router2 + eth0 + + + 116 + + + + 159 + 161 + pc3 + eth0 + + + 130 + 135 + net_switch1 + port3 + + + 173 + + + + 130 + 133 + net_switch1 + port1 + + + 104 + 107 + router1 + eth1 + + + 171 + + + + 162 + 164 + pc4 + eth0 + + + 120 + 124 + net_switch0 + port2 + + + 169 + + + + 100 + 103 + router0 + eth1 + + + 104 + 106 + router1 + eth0 + + + 117 + + + + 140 + 144 + net_switch2 + port2 + + + 150 + 152 + pc0 + eth0 + + + 175 + + + + 100 + 118 + router0 + eth3 + + + 112 + 114 + router3 + eth0 + + + 119 + + + + 165 + 167 + pc5 + eth0 + + + 120 + 123 + net_switch0 + port1 + + + 168 + + + + 120 + 125 + net_switch0 + port3 + + + 108 + 111 + router2 + eth1 + + + 170 + + + + 156 + 158 + pc2 + eth0 + + + 130 + 134 + net_switch1 + port2 + + + 172 + + + + 112 + 115 + router3 + eth1 + + + 140 + 143 + net_switch2 + port1 + + + 174 + + + + 140 + 145 + net_switch2 + port3 + + + 153 + 155 + pc1 + eth0 + + + 176 + + + pc5 + pc0 + SuccessfullyPings + + + pc5 + pc3 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_NowhereToGo.enbx b/EduNetworkBuilder/Resources/Level3_NowhereToGo.enbx new file mode 100644 index 0000000..aefa40e --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_NowhereToGo.enbx @@ -0,0 +1,1308 @@ + + + + + Get pc2 to ping pc1 and pc1 to ping pc2. + Nowhere to go + 1024 + 1024 + 100 + False + 3 + 2 + 160 + none + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 736,397 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 106 + 103,530 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc0 + lo0 + + lo + 107 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc0 + eth0 + + eth + 108 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 610,513 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 212,530 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 155 + 733,516 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 155 + 156 + pc3 + lo0 + + lo + 156 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 155 + 157 + pc3 + eth0 + + eth + 157 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 132 + 112,260 + router + False + False + + 192.168.3.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 132 + 133 + router0 + lo0 + + lo + 133 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 132 + 134 + router0 + eth0 + + eth + 134 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 132 + 135 + router0 + eth1 + + eth + 135 + False + + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + + router1 + 100 + 136 + 736,257 + router + False + False + + 192.168.4.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 136 + 137 + router1 + lo0 + + lo + 137 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + router1 + eth0 + + eth + 138 + False + + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 136 + 139 + router1 + eth1 + + eth + 139 + False + + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + + router2 + 100 + 140 + 403,110 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + router2 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + router2 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 140 + 143 + router2 + eth1 + + eth + 143 + False + + + eth1 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.5 + 192.168.1.7 + route + + + + server1 + 100 + 103 + 862,520 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 140 + 143 + router2 + eth1 + + + 136 + 138 + router1 + eth0 + + + 148 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 103 + 105 + server1 + eth0 + + + 122 + 126 + net_switch1 + port2 + + + 150 + + + + 136 + 139 + router1 + eth1 + + + 122 + 125 + net_switch1 + port1 + + + 149 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 132 + 135 + router0 + eth1 + + + 140 + 142 + router2 + eth0 + + + 147 + + + + 112 + 117 + net_switch0 + port3 + + + 132 + 134 + router0 + eth0 + + + 146 + + + + 106 + 108 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 145 + + + + 155 + 157 + pc3 + eth0 + + + 122 + 128 + net_switch1 + port4 + + + 158 + + + pc1 + pc2 + SuccessfullyPings + + + pc2 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_PhoneyNetwork.enbx b/EduNetworkBuilder/Resources/Level3_PhoneyNetwork.enbx new file mode 100644 index 0000000..5aaafd0 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_PhoneyNetwork.enbx @@ -0,0 +1,1318 @@ + + + + + Get phone0 to ping phone2, and also get phone2 to ping phone0 + Phoney Network + 1024 + 1024 + 100 + False + 3 + 2.5 + 164 + none + + firewall0 + 100 + 118 + 190,220 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 118 + 119 + firewall0 + lo0 + + lo + 119 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 118 + 122 + firewall0 + wan0 + + wan + 122 + False + + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 118 + 120 + firewall0 + eth0 + + eth + 120 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 118 + 162 + firewall0 + vpn0 + + vpn + 162 + False + Encryption + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 123 + 750,200 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + firewall1 + lo0 + + lo + 124 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 123 + 127 + firewall1 + wan0 + + wan + 127 + False + + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + firewall1 + eth0 + + eth + 125 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 123 + 163 + firewall1 + vpn0 + + vpn + 163 + False + Encryption + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + + ip_phone0 + 100 + 103 + 110,760 + ip_phone + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + ip_phone0 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + ip_phone0 + eth0 + + eth + 105 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + ip_phone1 + 100 + 106 + 290,760 + ip_phone + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + ip_phone1 + lo0 + + lo + 107 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + ip_phone1 + eth0 + + eth + 108 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + ip_phone2 + 100 + 112 + 680,750 + ip_phone + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + ip_phone2 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 112 + 114 + ip_phone2 + eth0 + + eth + 114 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + ip_phone3 + 100 + 115 + 850,740 + ip_phone + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 115 + 116 + ip_phone3 + lo0 + + lo + 116 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 115 + 117 + ip_phone3 + eth0 + + eth + 117 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 132 + 190,410 + net_switch + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 132 + 133 + net_switch0 + lo0 + + lo + 133 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 132 + 134 + net_switch0 + management_interface0 + + management_interface + 134 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 132 + 135 + net_switch0 + port1 + + port + 135 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 132 + 136 + net_switch0 + port2 + + port + 136 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 132 + 137 + net_switch0 + port3 + + port + 137 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 132 + 138 + net_switch0 + port4 + + port + 138 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 132 + 139 + net_switch0 + port5 + + port + 139 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 132 + 140 + net_switch0 + port6 + + port + 140 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 132 + 141 + net_switch0 + port7 + + port + 141 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 142 + 750,400 + net_switch + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 142 + 143 + net_switch1 + lo0 + + lo + 143 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 142 + 144 + net_switch1 + management_interface0 + + management_interface + 144 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 142 + 145 + net_switch1 + port1 + + port + 145 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 142 + 146 + net_switch1 + port2 + + port + 146 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 142 + 147 + net_switch1 + port3 + + port + 147 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 142 + 148 + net_switch1 + port4 + + port + 148 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 142 + 149 + net_switch1 + port5 + + port + 149 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 142 + 150 + net_switch1 + port6 + + port + 150 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 142 + 151 + net_switch1 + port7 + + port + 151 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 128 + 470,30 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 128 + 129 + router0 + lo0 + + lo + 129 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 128 + 130 + router0 + eth0 + + eth + 130 + False + + + eth0 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 128 + 131 + router0 + eth1 + + eth + 131 + False + + + eth1 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + server0 + 100 + 100 + 40,550 + server + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + server1 + 100 + 109 + 620,550 + server + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + server1 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + server1 + eth0 + + eth + 111 + False + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + server0 + eth0 + + + 132 + 135 + net_switch0 + port1 + + + 152 + + + + 132 + 138 + net_switch0 + port4 + + + 118 + 120 + firewall0 + eth0 + + + 158 + + + + 106 + 108 + ip_phone1 + eth0 + + + 132 + 137 + net_switch0 + port3 + + + 154 + + + + 103 + 105 + ip_phone0 + eth0 + + + 132 + 136 + net_switch0 + port2 + + + 153 + + + + 118 + 122 + firewall0 + wan0 + + + 128 + 130 + router0 + eth0 + + + 160 + + + + 109 + 111 + server1 + eth0 + + + 142 + 145 + net_switch1 + port1 + + + 155 + + + + 112 + 114 + ip_phone2 + eth0 + + + 142 + 146 + net_switch1 + port2 + + + 156 + + + + 115 + 117 + ip_phone3 + eth0 + + + 142 + 147 + net_switch1 + port3 + + + 157 + + + + 142 + 148 + net_switch1 + port4 + + + 123 + 125 + firewall1 + eth0 + + + 159 + + + + 123 + 127 + firewall1 + wan0 + + + 128 + 131 + router0 + eth1 + + + 161 + + + ip_phone0 + ip_phone2 + SuccessfullyPings + + + ip_phone2 + ip_phone0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level3_VPNify.enbx b/EduNetworkBuilder/Resources/Level3_VPNify.enbx new file mode 100644 index 0000000..5d7b992 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level3_VPNify.enbx @@ -0,0 +1,1644 @@ + + + + + Both networks work, but they need to be connected via VPN. You have success when PC2 can ping PC1 and pc3 can ping pc0. + VPNify + 1024 + 1024 + 100 + False + 3 + 3 + 195 + none + + firewall0 + 100 + 176 + 110,250 + firewall + False + False + + 172.16.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + firewall0 + lo0 + + lo + 177 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 176 + 180 + firewall0 + wan0 + + wan + 180 + False + + + wan0 + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + firewall0 + eth0 + + eth + 178 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + firewall1 + 100 + 181 + 730,250 + firewall + False + False + + 172.16.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 181 + 182 + firewall1 + lo0 + + lo + 182 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 181 + 185 + firewall1 + wan0 + + wan + 185 + False + + + wan0 + + 172.16.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 181 + 183 + firewall1 + eth0 + + eth + 183 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 736,397 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 106 + 103,530 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc0 + lo0 + + lo + 107 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc0 + eth0 + + eth + 108 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 610,513 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 212,530 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 155 + 733,516 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 155 + 156 + pc3 + lo0 + + lo + 156 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 155 + 157 + pc3 + eth0 + + eth + 157 + True + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 186 + 150,80 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 186 + 187 + router0 + lo0 + + lo + 187 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 186 + 188 + router0 + eth0 + + eth + 188 + False + + + eth0 + + 172.16.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 186 + 189 + router0 + eth1 + + eth + 189 + False + + + eth1 + + 172.16.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 172.16.3.1 + 255.255.255.0 + 172.16.2.1 + route + + + 172.16.4.1 + 255.255.255.0 + 172.16.2.1 + route + + + 172.16.5.1 + 255.255.255.0 + 172.16.2.1 + route + + + + router2 + 100 + 160 + 310,30 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 160 + 161 + router2 + lo0 + + lo + 161 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 160 + 162 + router2 + eth0 + + eth + 162 + False + + + eth0 + + 172.16.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 160 + 163 + router2 + eth1 + + eth + 163 + False + + + eth1 + + 172.16.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 172.16.1.1 + 255.255.255.0 + 172.16.2.2 + route + + + 172.16.4.1 + 255.255.255.0 + 172.16.3.1 + route + + + 172.16.5.1 + 255.255.255.0 + 172.16.3.1 + route + + + + router3 + 100 + 164 + 510,30 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 164 + 165 + router3 + lo0 + + lo + 165 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 164 + 166 + router3 + eth0 + + eth + 166 + False + + + eth0 + + 172.16.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 164 + 167 + router3 + eth1 + + eth + 167 + False + + + eth1 + + 172.16.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 172.16.2.1 + 255.255.255.0 + 172.16.3.2 + route + + + 172.16.1.1 + 255.255.255.0 + 172.16.3.2 + route + + + 172.16.5.1 + 255.255.255.0 + 172.16.4.1 + route + + + + router4 + 100 + 168 + 720,90 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 168 + 169 + router4 + lo0 + + lo + 169 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 168 + 170 + router4 + eth0 + + eth + 170 + False + + + eth0 + + 172.16.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 168 + 171 + router4 + eth1 + + eth + 171 + False + + + eth1 + + 172.16.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 172.16.3.1 + 255.255.255.0 + 172.16.4.2 + route + + + 172.16.2.1 + 255.255.255.0 + 172.16.4.2 + route + + + 172.16.1.1 + 255.255.255.0 + 172.16.4.2 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.5 + 192.168.1.7 + route + + + + server1 + 100 + 103 + 862,520 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 122 + 125 + net_switch1 + port1 + + + 181 + 183 + firewall1 + eth0 + + + 191 + + + + 155 + 157 + pc3 + eth0 + + + 122 + 128 + net_switch1 + port4 + + + 158 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 103 + 105 + server1 + eth0 + + + 122 + 126 + net_switch1 + port2 + + + 150 + + + + 106 + 108 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 145 + + + + 186 + 189 + router0 + eth1 + + + 160 + 162 + router2 + eth0 + + + 193 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 160 + 163 + router2 + eth1 + + + 164 + 166 + router3 + eth0 + + + 173 + + + + 164 + 167 + router3 + eth1 + + + 168 + 170 + router4 + eth0 + + + 175 + + + + 112 + 117 + net_switch0 + port3 + + + 176 + 178 + firewall0 + eth0 + + + 190 + + + + 176 + 180 + firewall0 + wan0 + + + 186 + 188 + router0 + eth0 + + + 192 + + + + 181 + 185 + firewall1 + wan0 + + + 168 + 171 + router4 + eth1 + + + 194 + + + pc2 + pc1 + SuccessfullyPings + + + pc3 + pc0 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level4_DualWans.enbx b/EduNetworkBuilder/Resources/Level4_DualWans.enbx new file mode 100644 index 0000000..ac15f54 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_DualWans.enbx @@ -0,0 +1,1587 @@ + + + + + Ping PCs 1, 2, and 3 from PC0. There are multiple ways to get this puzzle to work. + Dual WANs + 1024 + 1024 + 100 + True + 4 + 6 + 189 + basic + + firewall0 + 100 + 100 + 610,540 + firewall + False + False + + 172.16.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + + wan0 + + 172.16.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 186 + firewall0 + vpn0 + + vpn + 186 + False + Key + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall1 + 100 + 105 + 810,540 + firewall + False + False + + 172.16.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + + wan0 + + 172.16.5.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 188 + firewall1 + vpn0 + + vpn + 188 + False + Encrypted + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.51.1 + route + + + + firewall2 + 100 + 110 + 250,280 + firewall + False + False + + 172.16.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + firewall2 + lo0 + + lo + 111 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 110 + 114 + firewall2 + wan0 + + wan + 114 + False + + + wan0 + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + firewall2 + eth0 + + eth + 112 + False + + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 110 + 185 + firewall2 + vpn0 + + vpn + 185 + False + Key + + 172.16.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 110 + 187 + firewall2 + vpn1 + + vpn + 187 + False + Key + + 172.16.5.3 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.50.2 + route + + + + net_switch0 + 100 + 127 + 710,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 127 + 128 + net_switch0 + lo0 + + lo + 128 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 127 + 129 + net_switch0 + management_interface0 + + management_interface + 129 + False + + + management_interface0 + + 192.168.1.6 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 127 + 130 + net_switch0 + port1 + + port + 130 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 127 + 131 + net_switch0 + port2 + + port + 131 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 127 + 132 + net_switch0 + port3 + + port + 132 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 127 + 133 + net_switch0 + port4 + + port + 133 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 127 + 134 + net_switch0 + port5 + + port + 134 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 127 + 135 + net_switch0 + port6 + + port + 135 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 127 + 136 + net_switch0 + port7 + + port + 136 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 141 + 250,60 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 141 + 142 + net_switch1 + lo0 + + lo + 142 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 141 + 143 + net_switch1 + management_interface0 + + management_interface + 143 + False + + + management_interface0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 141 + 144 + net_switch1 + port1 + + port + 144 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 141 + 145 + net_switch1 + port2 + + port + 145 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 141 + 146 + net_switch1 + port3 + + port + 146 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 141 + 147 + net_switch1 + port4 + + port + 147 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 141 + 148 + net_switch1 + port5 + + port + 148 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 141 + 149 + net_switch1 + port6 + + port + 149 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 141 + 150 + net_switch1 + port7 + + port + 150 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 172 + 700,420 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 172 + 173 + net_switch2 + lo0 + + lo + 173 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 172 + 174 + net_switch2 + management_interface0 + + management_interface + 174 + False + + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 172 + 175 + net_switch2 + port1 + + port + 175 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 172 + 176 + net_switch2 + port2 + + port + 176 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 172 + 177 + net_switch2 + port3 + + port + 177 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 172 + 178 + net_switch2 + port4 + + port + 178 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 172 + 179 + net_switch2 + port5 + + port + 179 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 172 + 180 + net_switch2 + port6 + + port + 180 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 172 + 181 + net_switch2 + port7 + + port + 181 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 115 + 50,60 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 115 + 116 + pc0 + lo0 + + lo + 116 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 115 + 117 + pc0 + eth0 + + eth + 117 + False + + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 118 + 510,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 118 + 119 + pc1 + lo0 + + lo + 119 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 118 + 120 + pc1 + eth0 + + eth + 120 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 121 + 710,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 121 + 122 + pc2 + lo0 + + lo + 122 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 121 + 123 + pc2 + eth0 + + eth + 123 + False + + + eth0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 124 + 880,830 + pc + False + False + + 192.168.1.2 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + pc3 + lo0 + + lo + 125 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 124 + 126 + pc3 + eth0 + + eth + 126 + False + + + eth0 + + 192.168.1.5 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 137 + 700,280 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + router0 + lo0 + + lo + 138 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + router0 + eth0 + + eth + 139 + False + + + eth0 + + 172.16.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 137 + 140 + router0 + eth1 + + eth + 140 + False + + + eth1 + + 172.16.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 115 + 117 + pc0 + eth0 + + + 141 + 144 + net_switch1 + port1 + + + 151 + + + + 100 + 104 + firewall0 + wan0 + + + 172 + 175 + net_switch2 + port1 + + + 182 + + + + 124 + 126 + pc3 + eth0 + + + 127 + 134 + net_switch0 + port5 + + + 161 + + + + 118 + 120 + pc1 + eth0 + + + 127 + 132 + net_switch0 + port3 + + + 159 + + + + 141 + 145 + net_switch1 + port2 + + + 110 + 112 + firewall2 + eth0 + + + 152 + + + + 172 + 177 + net_switch2 + port3 + + + 137 + 140 + router0 + eth1 + + + 184 + + + + 121 + 123 + pc2 + eth0 + + + 127 + 133 + net_switch0 + port4 + + + 160 + + + + 127 + 130 + net_switch0 + port1 + + + 100 + 102 + firewall0 + eth0 + + + 157 + + + + 127 + 131 + net_switch0 + port2 + + + 105 + 107 + firewall1 + eth0 + + + 158 + + + + 110 + 114 + firewall2 + wan0 + + + 137 + 139 + router0 + eth0 + + + 153 + + + + 105 + 109 + firewall1 + wan0 + + + 172 + 176 + net_switch2 + port2 + + + 183 + + + pc0 + pc1 + SuccessfullyPings + + + pc0 + pc2 + SuccessfullyPings + + + pc0 + pc3 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level4_Internalhemorrhage.enbx b/EduNetworkBuilder/Resources/Level4_Internalhemorrhage.enbx new file mode 100644 index 0000000..5258372 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_Internalhemorrhage.enbx @@ -0,0 +1,1847 @@ + + + + + There are multiple problems on this network. + Internal Hemorrhage + 1024 + 1024 + 100 + True + 4 + 8 + 215 + full + + firewall0 + 100 + 100 + 440,350 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.20.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + 192.168.2.0 + 255.255.255.0 + 192.168.10.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.10.6 + route + + + 192.168.100.1 + 255.255.255.0 + 192.168.20.1 + route + + + + copier0 + 100 + 139 + 290,780 + copier + False + False + + 192.168.1.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 139 + 140 + copier0 + lo0 + + lo + 140 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 139 + 141 + copier0 + eth0 + + eth + 141 + False + + eth0 + + 192.168.1.131 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + copier1 + 100 + 148 + 900,740 + copier + False + False + + 192.168.2.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 148 + 149 + copier1 + lo0 + + lo + 149 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 148 + 150 + copier1 + eth0 + + eth + 150 + False + + eth0 + + 192.168.2.131 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + copier2 + 100 + 170 + 290,600 + copier + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 170 + 171 + copier2 + lo0 + + lo + 171 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 170 + 172 + copier2 + eth0 + + eth + 172 + False + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + copier3 + 100 + 173 + 900,570 + copier + False + False + + 192.168.2.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + copier3 + lo0 + + lo + 174 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + copier3 + eth0 + + eth + 175 + False + + eth0 + + 192.168.2.132 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 185 + 650,640 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 185 + 186 + net_switch0 + lo0 + + lo + 186 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 185 + 187 + net_switch0 + management_interface0 + + management_interface + 187 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 185 + 188 + net_switch0 + port1 + + port + 188 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 185 + 189 + net_switch0 + port2 + + port + 189 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 185 + 190 + net_switch0 + port3 + + port + 190 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 185 + 191 + net_switch0 + port4 + + port + 191 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 185 + 192 + net_switch0 + port5 + + port + 192 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 185 + 193 + net_switch0 + port6 + + port + 193 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 185 + 194 + net_switch0 + port7 + + port + 194 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 123 + 150,600 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + net_switch1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 123 + 125 + net_switch1 + management_interface0 + + management_interface + 125 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 123 + 126 + net_switch1 + port1 + + port + 126 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 123 + 127 + net_switch1 + port2 + + port + 127 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 123 + 128 + net_switch1 + port3 + + port + 128 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 123 + 129 + net_switch1 + port4 + + port + 129 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 123 + 130 + net_switch1 + port5 + + port + 130 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 123 + 131 + net_switch1 + port6 + + port + 131 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 123 + 132 + net_switch1 + port7 + + port + 132 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 195 + 770,640 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 195 + 196 + net_switch2 + lo0 + + lo + 196 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 195 + 197 + net_switch2 + management_interface0 + + management_interface + 197 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 195 + 198 + net_switch2 + port1 + + port + 198 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 195 + 199 + net_switch2 + port2 + + port + 199 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 195 + 200 + net_switch2 + port3 + + port + 200 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 195 + 201 + net_switch2 + port4 + + port + 201 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 195 + 202 + net_switch2 + port5 + + port + 202 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 195 + 203 + net_switch2 + port6 + + port + 203 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 195 + 204 + net_switch2 + port7 + + port + 204 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 133 + 10,780 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc0 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc0 + eth0 + + eth + 135 + False + + eth0 + + 192.168.1.2 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 136 + 150,780 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc1 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc1 + eth0 + + eth + 138 + False + + eth0 + + 192.168.1.3 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 142 + 500,580 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 142 + 143 + pc2 + lo0 + + lo + 143 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 142 + 144 + pc2 + eth0 + + eth + 144 + False + + eth0 + + 192.168.2.2 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 145 + 510,780 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 145 + 146 + pc3 + lo0 + + lo + 146 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 145 + 147 + pc3 + eth0 + + eth + 147 + False + + eth0 + + 192.168.2.3 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 161 + 440,10 + pc + False + False + + 192.168.100.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 161 + 162 + pc4 + lo0 + + lo + 162 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 161 + 163 + pc4 + eth0 + + eth + 163 + False + + eth0 + + 192.168.100.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 105 + 150,420 + router + False + False + + 192.168.10.5 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + router0 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + router0 + eth0 + + eth + 107 + False + + eth0 + + 192.168.10.6 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + router0 + eth1 + + eth + 108 + False + + eth1 + + 192.168.1.1 + 255.255.255.128 + 0.0.0.0 + ip + + + + eth1 + + 192.168.1.130 + 255.255.255.128 + 0.0.0.0 + ip + + + + + 192.168.2.0 + 255.255.255.0 + 192.168.10.5 + route + + + + router1 + 100 + 109 + 720,430 + router + False + False + + 192.168.10.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + router1 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + router1 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.1 + 255.255.255.128 + 0.0.0.0 + ip + + + + + eth + eth1 + + 109 + 112 + router1 + eth1 + + eth + 112 + False + + eth1 + + 192.168.10.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth2 + + 109 + 211 + router1 + eth2 + + eth + 211 + False + + eth2 + + 192.168.2.130 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + router2 + 100 + 164 + 440,170 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 164 + 165 + router2 + lo0 + + lo + 165 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 164 + 166 + router2 + eth0 + + eth + 166 + False + + eth0 + + 192.168.20.1 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 164 + 167 + router2 + eth1 + + eth + 167 + False + + eth1 + + 192.168.100.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 109 + 112 + router1 + eth1 + + + 100 + 103 + firewall0 + eth1 + + + 160 + + + + 195 + 199 + net_switch2 + port2 + + + 173 + 175 + copier3 + eth0 + + + 209 + + + + 142 + 144 + pc2 + eth0 + + + 185 + 188 + net_switch0 + port1 + + + 205 + + + + 133 + 135 + pc0 + eth0 + + + 123 + 127 + net_switch1 + port2 + + + 153 + + + + 139 + 141 + copier0 + eth0 + + + 123 + 129 + net_switch1 + port4 + + + 155 + + + + 100 + 104 + firewall0 + wan0 + + + 164 + 166 + router2 + eth0 + + + 168 + + + + 185 + 191 + net_switch0 + port4 + + + 109 + 111 + router1 + eth0 + + + 213 + + + + 136 + 138 + pc1 + eth0 + + + 123 + 128 + net_switch1 + port3 + + + 154 + + + + 164 + 167 + router2 + eth1 + + + 161 + 163 + pc4 + eth0 + + + 169 + + + + 105 + 107 + router0 + eth0 + + + 100 + 102 + firewall0 + eth0 + + + 151 + + + + 105 + 108 + router0 + eth1 + + + 123 + 126 + net_switch1 + port1 + + + 152 + + + + 145 + 147 + pc3 + eth0 + + + 185 + 189 + net_switch0 + port2 + + + 206 + + + + 148 + 150 + copier1 + eth0 + + + 195 + 198 + net_switch2 + port1 + + + 208 + + + + 170 + 172 + copier2 + eth0 + + + 123 + 130 + net_switch1 + port5 + + + 176 + + + + 195 + 200 + net_switch2 + port3 + + + 109 + 211 + router1 + eth2 + + + 214 + + + pc0 + copier2 + SuccessfullyPings + + + pc0 + pc3 + SuccessfullyPings + + + pc0 + net_switch0 + SuccessfullyPings + + + net_switch0 + pc4 + SuccessfullyPings + + + diff --git a/EduNetworkBuilder/Resources/Level4_InternelSubnetting.enbx b/EduNetworkBuilder/Resources/Level4_InternelSubnetting.enbx new file mode 100644 index 0000000..3117c0d --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_InternelSubnetting.enbx @@ -0,0 +1,1661 @@ + + + + + Sometimes it is good to subnet within your network. Connect up PC5 to net_switch0 and give it an IP address that is on the same subnet as pc2. To make sure it works, ping pc4 from pc5. + Internal Subnets + 1024 + 1024 + 100 + True + 4 + 7 + 181 + basic + + firewall0 + 100 + 100 + 440,350 + firewall + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.20.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.10.5 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 192.168.10.1 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 192.168.2.0 + 255.255.255.0 + 192.168.10.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.10.6 + route + + + 192.168.100.1 + 255.255.255.0 + 192.168.20.1 + route + + + + copier0 + 100 + 139 + 290,780 + copier + False + False + + 192.168.1.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 139 + 140 + copier0 + lo0 + + lo + 140 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 139 + 141 + copier0 + eth0 + + eth + 141 + False + + eth0 + + 192.168.1.131 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + copier1 + 100 + 148 + 860,790 + copier + False + False + + 192.168.2.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 148 + 149 + copier1 + lo0 + + lo + 149 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 148 + 150 + copier1 + eth0 + + eth + 150 + False + + eth0 + + 192.168.2.131 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + copier2 + 100 + 170 + 290,600 + copier + False + False + + 192.168.1.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 170 + 171 + copier2 + lo0 + + lo + 171 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 170 + 172 + copier2 + eth0 + + eth + 172 + False + + eth0 + + 192.168.1.132 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + copier3 + 100 + 173 + 870,620 + copier + False + False + + 192.168.2.130 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + copier3 + lo0 + + lo + 174 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + copier3 + eth0 + + eth + 175 + False + + eth0 + + 192.168.2.132 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 113 + 720,600 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 113 + 114 + net_switch0 + lo0 + + lo + 114 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 113 + 115 + net_switch0 + management_interface0 + + management_interface + 115 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 113 + 116 + net_switch0 + port1 + + port + 116 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 113 + 117 + net_switch0 + port2 + + port + 117 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 113 + 118 + net_switch0 + port3 + + port + 118 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 113 + 119 + net_switch0 + port4 + + port + 119 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 113 + 120 + net_switch0 + port5 + + port + 120 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 113 + 121 + net_switch0 + port6 + + port + 121 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 113 + 122 + net_switch0 + port7 + + port + 122 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 123 + 150,600 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + net_switch1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 123 + 125 + net_switch1 + management_interface0 + + management_interface + 125 + False + + management_interface0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port1 + + 123 + 126 + net_switch1 + port1 + + port + 126 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 123 + 127 + net_switch1 + port2 + + port + 127 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 123 + 128 + net_switch1 + port3 + + port + 128 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 123 + 129 + net_switch1 + port4 + + port + 129 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 123 + 130 + net_switch1 + port5 + + port + 130 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 123 + 131 + net_switch1 + port6 + + port + 131 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 123 + 132 + net_switch1 + port7 + + port + 132 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 133 + 10,780 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 133 + 134 + pc0 + lo0 + + lo + 134 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 133 + 135 + pc0 + eth0 + + eth + 135 + False + + eth0 + + 192.168.1.2 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 136 + 150,780 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 136 + 137 + pc1 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + pc1 + eth0 + + eth + 138 + False + + eth0 + + 192.168.1.3 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 142 + 600,800 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 142 + 143 + pc2 + lo0 + + lo + 143 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 142 + 144 + pc2 + eth0 + + eth + 144 + False + + eth0 + + 192.168.2.2 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 145 + 730,800 + pc + False + False + + 192.168.2.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 145 + 146 + pc3 + lo0 + + lo + 146 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 145 + 147 + pc3 + eth0 + + eth + 147 + False + + eth0 + + 192.168.2.3 + 255.255.255.128 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 161 + 440,10 + pc + False + False + + 192.168.100.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 161 + 162 + pc4 + lo0 + + lo + 162 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 161 + 163 + pc4 + eth0 + + eth + 163 + False + + eth0 + + 192.168.100.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 105 + 150,420 + router + False + False + + 192.168.10.5 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + router0 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + router0 + eth0 + + eth + 107 + False + + eth0 + + 192.168.10.6 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + router0 + eth1 + + eth + 108 + False + + eth1 + + 192.168.1.1 + 255.255.255.128 + 0.0.0.0 + ip + + + + eth1 + + 192.168.1.130 + 255.255.255.128 + 0.0.0.0 + ip + + + + + 192.168.2.0 + 255.255.255.0 + 192.168.10.5 + route + + + + router1 + 100 + 109 + 720,430 + router + False + False + + 192.168.10.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + router1 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + router1 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.1 + 255.255.255.128 + 0.0.0.0 + ip + + + + eth0 + + 192.168.2.130 + 255.255.255.128 + 0.0.0.0 + ip + + + + + eth + eth1 + + 109 + 112 + router1 + eth1 + + eth + 112 + False + + eth1 + + 192.168.10.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + + router2 + 100 + 164 + 440,170 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 164 + 165 + router2 + lo0 + + lo + 165 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 164 + 166 + router2 + eth0 + + eth + 166 + False + + eth0 + + 192.168.20.1 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 164 + 167 + router2 + eth1 + + eth + 167 + False + + eth1 + + 192.168.100.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc5 + 100 + 178 + 550,640 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 178 + 179 + pc5 + lo0 + + lo + 179 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 178 + 180 + pc5 + eth0 + + eth + 180 + False + + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + + 105 + 107 + router0 + eth0 + + + 100 + 102 + firewall0 + eth0 + + + 151 + + + + 164 + 167 + router2 + eth1 + + + 161 + 163 + pc4 + eth0 + + + 169 + + + + 136 + 138 + pc1 + eth0 + + + 123 + 128 + net_switch1 + port3 + + + 154 + + + + 145 + 147 + pc3 + eth0 + + + 113 + 117 + net_switch0 + port2 + + + 157 + + + + 133 + 135 + pc0 + eth0 + + + 123 + 127 + net_switch1 + port2 + + + 153 + + + + 105 + 108 + router0 + eth1 + + + 123 + 126 + net_switch1 + port1 + + + 152 + + + + 170 + 172 + copier2 + eth0 + + + 123 + 130 + net_switch1 + port5 + + + 176 + + + + 100 + 104 + firewall0 + wan0 + + + 164 + 166 + router2 + eth0 + + + 168 + + + + 139 + 141 + copier0 + eth0 + + + 123 + 129 + net_switch1 + port4 + + + 155 + + + + 142 + 144 + pc2 + eth0 + + + 113 + 116 + net_switch0 + port1 + + + 156 + + + + 148 + 150 + copier1 + eth0 + + + 113 + 118 + net_switch0 + port3 + + + 158 + + + + 109 + 112 + router1 + eth1 + + + 100 + 103 + firewall0 + eth1 + + + 160 + + + + 113 + 119 + net_switch0 + port4 + + + 109 + 111 + router1 + eth0 + + + 159 + + + + 173 + 175 + copier3 + eth0 + + + 113 + 120 + net_switch0 + port5 + + + 177 + + + pc5 + net_switch0 + NeedsLinkToDevice + + + pc5 + pc2 + NeedsLocalIPTo + + + pc5 + pc4 + SuccessfullyPings + + + diff --git a/EduNetworkBuilder/Resources/Level4_OneRoute.enbx b/EduNetworkBuilder/Resources/Level4_OneRoute.enbx new file mode 100644 index 0000000..04ed933 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_OneRoute.enbx @@ -0,0 +1,1824 @@ + + + + + Look at the route on firewall2. There is one rule, and yet you can ping both pc0 and pc1. This is route aggregation, or combining two routes into one. You can do that when the subnets are close enough to each other that one subnet mask can match both of them. + One route to bind them + 1024 + 1024 + 100 + False + 4 + 2 + 186 + full + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 100 + 184 + firewall0 + vpn1 + + vpn + 184 + False + Secondary + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.0.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + + eth0 + + 192.168.0.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.3.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall2 + 100 + 158 + 430,230 + firewall + False + False + + 192.168.7.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 158 + 159 + firewall2 + lo0 + + lo + 159 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 158 + 162 + firewall2 + wan0 + + wan + 162 + False + + + wan0 + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 158 + 160 + firewall2 + eth0 + + eth + 160 + False + + + eth0 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 158 + 161 + firewall2 + eth1 + + eth + 161 + False + + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 158 + 185 + firewall2 + vpn0 + + vpn + 185 + False + Secondary + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.254.0 + 192.168.51.1 + route + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + + eth0 + + 192.168.0.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop2 + 100 + 176 + 570,0 + laptop + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + laptop2 + lo0 + + lo + 177 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + laptop2 + eth0 + + eth + 178 + False + + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + + management_interface0 + + 192.168.0.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 163 + 430,80 + net_switch + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 163 + 164 + net_switch2 + lo0 + + lo + 164 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 163 + 165 + net_switch2 + management_interface0 + + management_interface + 165 + False + + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 163 + 166 + net_switch2 + port1 + + port + 166 + False + + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 163 + 167 + net_switch2 + port2 + + port + 167 + False + + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 163 + 168 + net_switch2 + port3 + + port + 168 + False + + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 163 + 169 + net_switch2 + port4 + + port + 169 + False + + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 163 + 170 + net_switch2 + port5 + + port + 170 + False + + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 163 + 171 + net_switch2 + port6 + + port + 171 + False + + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 163 + 172 + net_switch2 + port7 + + port + 172 + False + + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + + eth0 + + 192.168.0.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 173 + 260,10 + pc + False + False + + 192.168.3.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + pc2 + lo0 + + lo + 174 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + pc2 + eth0 + + eth + 175 + False + + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth2 + + 110 + 182 + router0 + eth2 + + eth + 182 + False + + + eth2 + + 192.168.7.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 163 + 166 + net_switch2 + port1 + + + 173 + 175 + pc2 + eth0 + + + 179 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 158 + 160 + firewall2 + eth0 + + + 163 + 168 + net_switch2 + port3 + + + 181 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + + 163 + 167 + net_switch2 + port2 + + + 176 + 178 + laptop2 + eth0 + + + 180 + + + + 158 + 162 + firewall2 + wan0 + + + 110 + 182 + router0 + eth2 + + + 183 + + + pc2 + pc0 + SuccessfullyPings + + + pc2 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level4_RouterReplacement.enbx b/EduNetworkBuilder/Resources/Level4_RouterReplacement.enbx new file mode 100644 index 0000000..696db15 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_RouterReplacement.enbx @@ -0,0 +1,1311 @@ + + + + + The one router got replaced and needs the correct IP-Addresses given to it. + Router Replacement + 1024 + 1024 + 100 + True + 4 + 5 + 197 + full + + firewall0 + 100 + 176 + 110,250 + firewall + False + False + + 172.16.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + firewall0 + lo0 + + lo + 177 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 176 + 180 + firewall0 + wan0 + + wan + 180 + False + + wan0 + + 172.16.1.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + firewall0 + eth0 + + eth + 178 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 176 + 195 + firewall0 + vpn0 + + vpn + 195 + False + Key + + 172.16.1.18 + 255.255.0.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 181 + 730,250 + firewall + False + False + + 172.16.1.17 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 181 + 182 + firewall1 + lo0 + + lo + 182 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 181 + 185 + firewall1 + wan0 + + wan + 185 + False + + wan0 + + 172.16.1.18 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 181 + 183 + firewall1 + eth0 + + eth + 183 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 181 + 196 + firewall1 + vpn0 + + vpn + 196 + False + Key + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 730,410 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 730,730 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 110,700 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 186 + 150,80 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 186 + 187 + router0 + lo0 + + lo + 187 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 186 + 188 + router0 + eth0 + + eth + 188 + False + + eth0 + + 172.16.1.1 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 186 + 189 + router0 + eth1 + + eth + 189 + False + + eth1 + + 172.16.1.5 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.6 + route + + + + router2 + 100 + 160 + 360,300 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 160 + 161 + router2 + lo0 + + lo + 161 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 160 + 162 + router2 + eth0 + + eth + 162 + False + + eth0 + + 172.16.1.6 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 160 + 163 + router2 + eth1 + + eth + 163 + False + + eth1 + + 172.16.1.9 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.5 + route + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.10 + route + + + + router3 + 100 + 164 + 450,10 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 164 + 165 + router3 + lo0 + + lo + 165 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 164 + 166 + router3 + eth0 + + eth + 166 + False + + eth0 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 164 + 167 + router3 + eth1 + + eth + 167 + False + + eth1 + + 0.0.0.0 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.9 + route + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.14 + route + + + + router4 + 100 + 168 + 720,90 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 168 + 169 + router4 + lo0 + + lo + 169 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 168 + 170 + router4 + eth0 + + eth + 170 + False + + eth0 + + 172.16.1.14 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 168 + 171 + router4 + eth1 + + eth + 171 + False + + eth1 + + 172.16.1.17 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.13 + route + + + + + 122 + 125 + net_switch1 + port1 + + + 181 + 183 + firewall1 + eth0 + + + 191 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 186 + 189 + router0 + eth1 + + + 160 + 162 + router2 + eth0 + + + 193 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 160 + 163 + router2 + eth1 + + + 164 + 166 + router3 + eth0 + + + 173 + + + + 164 + 167 + router3 + eth1 + + + 168 + 170 + router4 + eth0 + + + 175 + + + + 112 + 117 + net_switch0 + port3 + + + 176 + 178 + firewall0 + eth0 + + + 190 + + + + 176 + 180 + firewall0 + wan0 + + + 186 + 188 + router0 + eth0 + + + 192 + + + + 181 + 185 + firewall1 + wan0 + + + 168 + 171 + router4 + eth1 + + + 194 + + + pc2 + pc1 + SuccessfullyPings + + + router2 + All + LockAll + + + router4 + All + LockAll + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level4_SinglesLife.enbx b/EduNetworkBuilder/Resources/Level4_SinglesLife.enbx new file mode 100644 index 0000000..5f060d6 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_SinglesLife.enbx @@ -0,0 +1,1746 @@ + + + + + You must make one route on firewall2 that sends traffic to both other networks out of the one VPN. The key to this puzzle is realizing that in the third octet, you can have a subnet of 254 and it can work. In the final octet, a subnet mask of 254 gives you two numbers, which is invalid. (You need one for the network address and one for the broadcast; there are insufficient numbers for any hosts) In the third octet, it gives you two networks, which is fine. This route should be the same one that was used in "One Route to Bind them" + Singles Life + 1024 + 1024 + 100 + False + 4 + 3 + 186 + basic + + firewall0 + 100 + 100 + 180,510 + firewall + False + False + + 192.168.5.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + firewall0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 100 + 104 + firewall0 + wan0 + + wan + 104 + False + + wan0 + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + firewall0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + firewall0 + eth1 + + eth + 103 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 100 + 157 + firewall0 + vpn0 + + vpn + 157 + False + Test + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn1 + + 100 + 184 + firewall0 + vpn1 + + vpn + 184 + False + Secondary + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn1 + + 192.168.51.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.0.1 + 255.255.255.0 + 192.168.50.2 + route + + + 192.168.4.1 + 255.255.255.0 + 192.168.51.2 + route + + + + firewall1 + 100 + 105 + 700,510 + firewall + False + False + + 192.168.6.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 105 + 106 + firewall1 + lo0 + + lo + 106 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 105 + 109 + firewall1 + wan0 + + wan + 109 + False + + wan0 + + 192.168.6.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 105 + 107 + firewall1 + eth0 + + eth + 107 + False + + eth0 + + 192.168.0.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 105 + 108 + firewall1 + eth1 + + eth + 108 + False + + eth1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 105 + 156 + firewall1 + vpn0 + + vpn + 156 + False + Test + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + 192.168.4.1 + 255.255.255.0 + 192.168.50.1 + route + + + + firewall2 + 100 + 158 + 430,230 + firewall + False + False + + 192.168.7.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 158 + 159 + firewall2 + lo0 + + lo + 159 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 158 + 162 + firewall2 + wan0 + + wan + 162 + False + + wan0 + + 192.168.7.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 158 + 160 + firewall2 + eth0 + + eth + 160 + False + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 158 + 185 + firewall2 + vpn0 + + vpn + 185 + False + Secondary + + 192.168.5.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.51.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop0 + 100 + 140 + 280,830 + laptop + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + laptop0 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + laptop0 + eth0 + + eth + 142 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 143 + 800,850 + laptop + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 143 + 144 + laptop1 + lo0 + + lo + 144 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 143 + 145 + laptop1 + eth0 + + eth + 145 + False + + eth0 + + 192.168.0.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop2 + 100 + 176 + 570,0 + laptop + False + False + + 192.168.4.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + laptop2 + lo0 + + lo + 177 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + laptop2 + eth0 + + eth + 178 + False + + eth0 + + 192.168.4.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 114 + 180,670 + net_switch + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 114 + 115 + net_switch0 + lo0 + + lo + 115 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 114 + 116 + net_switch0 + management_interface0 + + management_interface + 116 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 114 + 117 + net_switch0 + port1 + + port + 117 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 114 + 118 + net_switch0 + port2 + + port + 118 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 114 + 119 + net_switch0 + port3 + + port + 119 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 114 + 120 + net_switch0 + port4 + + port + 120 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 114 + 121 + net_switch0 + port5 + + port + 121 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 114 + 122 + net_switch0 + port6 + + port + 122 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 114 + 123 + net_switch0 + port7 + + port + 123 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 124 + 700,690 + net_switch + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 124 + 125 + net_switch1 + lo0 + + lo + 125 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 124 + 126 + net_switch1 + management_interface0 + + management_interface + 126 + False + + management_interface0 + + 192.168.0.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 124 + 127 + net_switch1 + port1 + + port + 127 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 124 + 128 + net_switch1 + port2 + + port + 128 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 124 + 129 + net_switch1 + port3 + + port + 129 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 124 + 130 + net_switch1 + port4 + + port + 130 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 124 + 131 + net_switch1 + port5 + + port + 131 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 124 + 132 + net_switch1 + port6 + + port + 132 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 124 + 133 + net_switch1 + port7 + + port + 133 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 163 + 430,80 + net_switch + False + False + + 192.168.4.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 163 + 164 + net_switch2 + lo0 + + lo + 164 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 163 + 165 + net_switch2 + management_interface0 + + management_interface + 165 + False + + management_interface0 + + 192.168.4.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 163 + 166 + net_switch2 + port1 + + port + 166 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 163 + 167 + net_switch2 + port2 + + port + 167 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 163 + 168 + net_switch2 + port3 + + port + 168 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 163 + 169 + net_switch2 + port4 + + port + 169 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 163 + 170 + net_switch2 + port5 + + port + 170 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 163 + 171 + net_switch2 + port6 + + port + 171 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 163 + 172 + net_switch2 + port7 + + port + 172 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 134 + 90,830 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 134 + 135 + pc0 + lo0 + + lo + 135 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 134 + 136 + pc0 + eth0 + + eth + 136 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 137 + 600,850 + pc + False + False + + 192.168.0.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 137 + 138 + pc1 + lo0 + + lo + 138 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 137 + 139 + pc1 + eth0 + + eth + 139 + False + + eth0 + + 192.168.0.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 173 + 260,10 + pc + False + False + + 192.168.4.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 173 + 174 + pc2 + lo0 + + lo + 174 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 173 + 175 + pc2 + eth0 + + eth + 175 + False + + eth0 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 110 + 430,410 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 110 + 111 + router0 + lo0 + + lo + 111 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 110 + 112 + router0 + eth0 + + eth + 112 + False + + eth0 + + 192.168.6.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 110 + 113 + router0 + eth1 + + eth + 113 + False + + eth1 + + 192.168.5.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth2 + + 110 + 182 + router0 + eth2 + + eth + 182 + False + + eth2 + + 192.168.7.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 140 + 142 + laptop0 + eth0 + + + 114 + 118 + net_switch0 + port2 + + + 147 + + + + 163 + 166 + net_switch2 + port1 + + + 173 + 175 + pc2 + eth0 + + + 179 + + + + 134 + 136 + pc0 + eth0 + + + 114 + 117 + net_switch0 + port1 + + + 146 + + + + 137 + 139 + pc1 + eth0 + + + 124 + 127 + net_switch1 + port1 + + + 149 + + + + 143 + 145 + laptop1 + eth0 + + + 124 + 128 + net_switch1 + port2 + + + 150 + + + + 158 + 160 + firewall2 + eth0 + + + 163 + 168 + net_switch2 + port3 + + + 181 + + + + 105 + 109 + firewall1 + wan0 + + + 110 + 112 + router0 + eth0 + + + 153 + + + + 114 + 119 + net_switch0 + port3 + + + 100 + 102 + firewall0 + eth0 + + + 154 + + + + 100 + 104 + firewall0 + wan0 + + + 110 + 113 + router0 + eth1 + + + 155 + + + + 124 + 129 + net_switch1 + port3 + + + 105 + 107 + firewall1 + eth0 + + + 152 + + + + 163 + 167 + net_switch2 + port2 + + + 176 + 178 + laptop2 + eth0 + + + 180 + + + + 158 + 162 + firewall2 + wan0 + + + 110 + 182 + router0 + eth2 + + + 183 + + + pc2 + pc0 + SuccessfullyPings + + + pc2 + pc1 + SuccessfullyPings + + + firewall2 + 192.168.0.0/23 + NeedsRouteToNet + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/Level4_SmallSubnets.enbx b/EduNetworkBuilder/Resources/Level4_SmallSubnets.enbx new file mode 100644 index 0000000..f168a26 --- /dev/null +++ b/EduNetworkBuilder/Resources/Level4_SmallSubnets.enbx @@ -0,0 +1,1302 @@ + + + + + A router is misconfigured. Figure out which one and fix it. +To understand why it fails, you need to know that a subnet mask of 254 in the final octet gives you only two IP addresses. The lowest is reserved for the network and the highest is reserved for the broadcast address. That does not leave any room for IP addresses, making it invalid. + Small Subnets + 1024 + 1024 + 100 + True + 4 + 1 + 197 + full + + firewall0 + 100 + 176 + 110,250 + firewall + False + False + + 172.16.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 176 + 177 + firewall0 + lo0 + + lo + 177 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 176 + 180 + firewall0 + wan0 + + wan + 180 + False + + wan0 + + 172.16.1.2 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 176 + 178 + firewall0 + eth0 + + eth + 178 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 176 + 195 + firewall0 + vpn0 + + vpn + 195 + False + Key + + 172.16.1.18 + 255.255.0.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.50.2 + route + + + + firewall1 + 100 + 181 + 730,250 + firewall + False + False + + 172.16.1.17 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 181 + 182 + firewall1 + lo0 + + lo + 182 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + wan + wan0 + + 181 + 185 + firewall1 + wan0 + + wan + 185 + False + + wan0 + + 172.16.1.18 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth0 + + 181 + 183 + firewall1 + eth0 + + eth + 183 + False + + eth0 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + vpn + vpn0 + + 181 + 196 + firewall1 + vpn0 + + vpn + 196 + False + Key + + 172.16.1.2 + 255.255.255.0 + 0.0.0.0 + ip_only + + + vpn0 + + 192.168.50.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.1 + 255.255.255.0 + 192.168.50.1 + route + + + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 730,410 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 730,730 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 110,700 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 186 + 150,80 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 186 + 187 + router0 + lo0 + + lo + 187 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 186 + 188 + router0 + eth0 + + eth + 188 + False + + eth0 + + 172.16.1.1 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 186 + 189 + router0 + eth1 + + eth + 189 + False + + eth1 + + 172.16.1.5 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.6 + route + + + + router2 + 100 + 160 + 360,300 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 160 + 161 + router2 + lo0 + + lo + 161 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 160 + 162 + router2 + eth0 + + eth + 162 + False + + eth0 + + 172.16.1.6 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 160 + 163 + router2 + eth1 + + eth + 163 + False + + eth1 + + 172.16.1.9 + 255.255.255.254 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.5 + route + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.10 + route + + + + router3 + 100 + 164 + 450,10 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 164 + 165 + router3 + lo0 + + lo + 165 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 164 + 166 + router3 + eth0 + + eth + 166 + False + + eth0 + + 172.16.1.10 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 164 + 167 + router3 + eth1 + + eth + 167 + False + + eth1 + + 172.16.1.13 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.9 + route + + + 172.16.1.18 + 255.255.255.252 + 172.16.1.14 + route + + + + router4 + 100 + 168 + 720,90 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 168 + 169 + router4 + lo0 + + lo + 169 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 168 + 170 + router4 + eth0 + + eth + 170 + False + + eth0 + + 172.16.1.14 + 255.255.255.252 + 0.0.0.0 + ip + + + + + eth + eth1 + + 168 + 171 + router4 + eth1 + + eth + 171 + False + + eth1 + + 172.16.1.17 + 255.255.255.252 + 0.0.0.0 + ip + + + + + 172.16.1.2 + 255.255.255.252 + 172.16.1.13 + route + + + + + 122 + 125 + net_switch1 + port1 + + + 181 + 183 + firewall1 + eth0 + + + 191 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 186 + 189 + router0 + eth1 + + + 160 + 162 + router2 + eth0 + + + 193 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 160 + 163 + router2 + eth1 + + + 164 + 166 + router3 + eth0 + + + 173 + + + + 164 + 167 + router3 + eth1 + + + 168 + 170 + router4 + eth0 + + + 175 + + + + 112 + 117 + net_switch0 + port3 + + + 176 + 178 + firewall0 + eth0 + + + 190 + + + + 176 + 180 + firewall0 + wan0 + + + 186 + 188 + router0 + eth0 + + + 192 + + + + 181 + 185 + firewall1 + wan0 + + + 168 + 171 + router4 + eth1 + + + 194 + + + pc2 + pc1 + SuccessfullyPings + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/NBIco.ico b/EduNetworkBuilder/Resources/NBIco.ico new file mode 100644 index 0000000000000000000000000000000000000000..4a439111e5fb09ff1d1e39fe760c330e36f2bc22 GIT binary patch literal 42062 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 + + + + 1024 + 1024 + 130 + + laptop0 + 100 + 103 + 559,560 + laptop + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + laptop0 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + laptop0 + eth0 + + eth + 105 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + laptop1 + 100 + 123 + 680,147 + laptop + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 123 + 124 + laptop1 + lo0 + + lo + 124 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 123 + 125 + laptop1 + eth0 + + eth + 125 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + net_switch0 + 100 + 109 + 406,328 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + net_switch0 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 109 + 111 + net_switch0 + management_interface0 + + management_interface + 111 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 109 + 112 + net_switch0 + port1 + + port + 112 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 109 + 113 + net_switch0 + port2 + + port + 113 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 109 + 114 + net_switch0 + port3 + + port + 114 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 109 + 115 + net_switch0 + port4 + + port + 115 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 109 + 116 + net_switch0 + port5 + + port + 116 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 109 + 117 + net_switch0 + port6 + + port + 117 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 109 + 118 + net_switch0 + port7 + + port + 118 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 100 + 246,560 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + pc0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + pc0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 119 + 400,158 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 119 + 120 + router0 + lo0 + + lo + 120 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 119 + 121 + router0 + eth0 + + eth + 121 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 119 + 122 + router0 + eth1 + + eth + 122 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + pc0 + eth0 + + + 109 + 112 + net_switch0 + port1 + + + 126 + + + + 103 + 105 + laptop0 + eth0 + + + 109 + 113 + net_switch0 + port2 + + + 127 + + + + 109 + 114 + net_switch0 + port3 + + + 119 + 121 + router0 + eth0 + + + 128 + + + + 119 + 122 + router0 + eth1 + + + 123 + 125 + laptop1 + eth0 + + + 129 + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/PC.png b/EduNetworkBuilder/Resources/PC.png new file mode 100644 index 0000000000000000000000000000000000000000..945331486db80038b5fda64e4f226b7b9cc211ca GIT binary patch literal 1895 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 literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/Server.png b/EduNetworkBuilder/Resources/Server.png new file mode 100644 index 0000000000000000000000000000000000000000..6c71f51a135812cdd4fcb016676019e9495b1e8a GIT binary patch literal 985 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yu_bxCyD-Es)H3{>^Fo6UD8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3z#+@fc`-Qnt?n3dv@MM3gw^=jNv7l>oU649-QV zi6yBi3gww484B*6z5ywEsq734%(k8`jv*Dd-rm{hB@-yp@X$DsGvbJXQ-X8SMiqe^ zrlzSZK{wT=`koN}!O`S;FLAy@&YGlb)sDALvs?p~87Mj>aArAp7{5%JnzQw=Rq^}p zrAAZB-<`j+`E(8o*j^;UVJ??+jW%&A6BwIhY$wG<)vN{(f`q z>08Gf-_%s*unD#qylWQ}EZnnQ?&-;ek}fibcF4CWPcvwl7%0I6lw?Udx5Bt@&LM#g z0~=EoC7wi%BXbma8abR{vKc`#hfY`sBvxc`94YjIh(eSlGKiyU+A`MwXiUpThN!PW ze}4$R{`~E}PJYDY!ygv&nw@I4x1BN9eHsG`6BA=&gM)*@g$mET{F81SU$Boyq{DZr z=bOF=1pxsL1%VR<9{!03zP_C5kYgaT(Ln(sD!{?P0@te`01*ZW@jjgUh3(U+4RF;4 z%@P+BpE~e7w@7LP+5^%KQiq})BII*nBg^LRDTS7Cdi7n)&)+-tbbbEE+8xr@7cXoT z)t z1>>^9ZSwVX^M5T0Q1B_Tl{)qzB{=u>vLsPN{jox zUwa$Scq7E}$h!_!pi%~=MxORBB5X19<2aA79TwyU2PFgC+@OGYGHT!LOYelWC<*}4 zEMd1mkyZx*w?&B@Em4m>ba@&Tz$oFI0LLK#58pkL^>`XhQkrKPvosk15l~NJhw^)e zKU%whY09E}ju2282t9-7?Afy=OL6t8Rd literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/Switch.png b/EduNetworkBuilder/Resources/Switch.png new file mode 100644 index 0000000000000000000000000000000000000000..40c796f3d52d83eb2051df6703b585c01ad74389 GIT binary patch literal 756 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yu_bxCyD+#h++>hfTp)S}D8gCb z5n0T@z%2~Ij105pNB{-dOFVsD+3z#+v2sdZUBB}?P)Ig2B%;JQKQ}iuuLQ_tU~n!< zO)N=GQ7F$W$xv|j^bJVSOJ!$ZV2bc`aSW-r_4clz*O35`wu?PH>zr8*+TMtWjJmZ` zlzV$pdS+(oV>uSbn0DVcCao72OrHLKRv-w-DofPT@rYudNjK}GIqWA_UtQD~vDPDg?VTmgNkEfBm$`oiYG{=%))vb< za~WvpiY-y5K#M}6*RF|(SSth)*%4*R2^5J1i%jD=@@2uNtgAIm9nLbMksCKe)h2KI zzuF*Xqu%;^F`{ow`lc^$Ki^$(_P;#Knur;43%Au7?r=1BbWl(b_>uoz!P&ih{o?!8 zcJ>ihvxVdKul_#clbsp|2MY@mM@v^*|4a@RAAu9I<(L-M$Q0Y1)E4;RIQg@JpYXct z9}Cw>J~$QwwB3ilQ30ZQ({lIgmVqbE9P<+i>p0B9*qE?Yh~tp}&=r@JJtpr@ pIyhZCzCs4%s>{s8#I;%_`$cCVbr%~xU_xbJ@O1TaS?83{1OVPJ{}BKH literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/ThreeNets.enbx b/EduNetworkBuilder/Resources/ThreeNets.enbx new file mode 100644 index 0000000..3924197 --- /dev/null +++ b/EduNetworkBuilder/Resources/ThreeNets.enbx @@ -0,0 +1,1558 @@ + + + + + 1024 + 1024 + 177 + + net_switch0 + 100 + 120 + 134,649 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 120 + 121 + net_switch0 + lo0 + + lo + 121 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 120 + 122 + net_switch0 + management_interface0 + + management_interface + 122 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 120 + 123 + net_switch0 + port1 + + port + 123 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 120 + 124 + net_switch0 + port2 + + port + 124 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 120 + 125 + net_switch0 + port3 + + port + 125 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 120 + 126 + net_switch0 + port4 + + port + 126 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 120 + 127 + net_switch0 + port5 + + port + 127 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 120 + 128 + net_switch0 + port6 + + port + 128 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 120 + 129 + net_switch0 + port7 + + port + 129 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 130 + 769,649 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 130 + 131 + net_switch1 + lo0 + + lo + 131 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 130 + 132 + net_switch1 + management_interface0 + + management_interface + 132 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 130 + 133 + net_switch1 + port1 + + port + 133 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 130 + 134 + net_switch1 + port2 + + port + 134 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 130 + 135 + net_switch1 + port3 + + port + 135 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 130 + 136 + net_switch1 + port4 + + port + 136 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 130 + 137 + net_switch1 + port5 + + port + 137 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 130 + 138 + net_switch1 + port6 + + port + 138 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 130 + 139 + net_switch1 + port7 + + port + 139 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch2 + 100 + 140 + 422,124 + net_switch + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + net_switch2 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 140 + 142 + net_switch2 + management_interface0 + + management_interface + 142 + False + + management_interface0 + + 192.168.3.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 140 + 143 + net_switch2 + port1 + + port + 143 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 140 + 144 + net_switch2 + port2 + + port + 144 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 140 + 145 + net_switch2 + port3 + + port + 145 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 140 + 146 + net_switch2 + port4 + + port + 146 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 140 + 147 + net_switch2 + port5 + + port + 147 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 140 + 148 + net_switch2 + port6 + + port + 148 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 140 + 149 + net_switch2 + port7 + + port + 149 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 150 + 319,11 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 150 + 151 + pc0 + lo0 + + lo + 151 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 150 + 152 + pc0 + eth0 + + eth + 152 + False + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 153 + 515,8 + pc + False + False + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 153 + 154 + pc1 + lo0 + + lo + 154 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 153 + 155 + pc1 + eth0 + + eth + 155 + False + + eth0 + + 192.168.3.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 156 + 702,793 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 156 + 157 + pc2 + lo0 + + lo + 157 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 156 + 158 + pc2 + eth0 + + eth + 158 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 159 + 836,786 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 159 + 160 + pc3 + lo0 + + lo + 160 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 159 + 161 + pc3 + eth0 + + eth + 161 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc4 + 100 + 162 + 229,772 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 162 + 163 + pc4 + lo0 + + lo + 163 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 162 + 164 + pc4 + eth0 + + eth + 164 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc5 + 100 + 165 + 70,769 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 165 + 166 + pc5 + lo0 + + lo + 166 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 165 + 167 + pc5 + eth0 + + eth + 167 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 100 + 428,479 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + router0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + router0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.10.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 100 + 103 + router0 + eth1 + + eth + 103 + False + + eth1 + + 192.168.20.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth3 + + 100 + 118 + router0 + eth3 + + eth + 118 + False + + eth3 + + 192.168.30.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.10.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.20.1 + route + + + 192.168.3.0 + 255.255.255.0 + 192.168.30.1 + route + + + + router1 + 100 + 104 + 752,502 + router + False + False + + 192.168.20.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 104 + 105 + router1 + lo0 + + lo + 105 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 104 + 106 + router1 + eth0 + + eth + 106 + False + + eth0 + + 192.168.20.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 104 + 107 + router1 + eth1 + + eth + 107 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router2 + 100 + 108 + 143,509 + router + False + False + + 192.168.10.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 108 + 109 + router2 + lo0 + + lo + 109 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 108 + 110 + router2 + eth0 + + eth + 110 + False + + eth0 + + 192.168.10.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 108 + 111 + router2 + eth1 + + eth + 111 + False + + eth1 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + router3 + 100 + 112 + 428,260 + router + False + False + + 192.168.30.2 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + router3 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 112 + 114 + router3 + eth0 + + eth + 114 + False + + eth0 + + 192.168.30.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 112 + 115 + router3 + eth1 + + eth + 115 + False + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + + 100 + 102 + router0 + eth0 + + + 108 + 110 + router2 + eth0 + + + 116 + + + + 159 + 161 + pc3 + eth0 + + + 130 + 135 + net_switch1 + port3 + + + 173 + + + + 130 + 133 + net_switch1 + port1 + + + 104 + 107 + router1 + eth1 + + + 171 + + + + 162 + 164 + pc4 + eth0 + + + 120 + 124 + net_switch0 + port2 + + + 169 + + + + 100 + 103 + router0 + eth1 + + + 104 + 106 + router1 + eth0 + + + 117 + + + + 140 + 144 + net_switch2 + port2 + + + 150 + 152 + pc0 + eth0 + + + 175 + + + + 100 + 118 + router0 + eth3 + + + 112 + 114 + router3 + eth0 + + + 119 + + + + 165 + 167 + pc5 + eth0 + + + 120 + 123 + net_switch0 + port1 + + + 168 + + + + 120 + 125 + net_switch0 + port3 + + + 108 + 111 + router2 + eth1 + + + 170 + + + + 156 + 158 + pc2 + eth0 + + + 130 + 134 + net_switch1 + port2 + + + 172 + + + + 112 + 115 + router3 + eth1 + + + 140 + 143 + net_switch2 + port1 + + + 174 + + + + 140 + 145 + net_switch2 + port3 + + + 153 + 155 + pc1 + eth0 + + + 176 + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/TwoNets.enbx b/EduNetworkBuilder/Resources/TwoNets.enbx new file mode 100644 index 0000000..cfc4845 --- /dev/null +++ b/EduNetworkBuilder/Resources/TwoNets.enbx @@ -0,0 +1,1264 @@ + + + + + 1024 + 1024 + 160 + + net_switch0 + 100 + 112 + 109,397 + net_switch + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 112 + 113 + net_switch0 + lo0 + + lo + 113 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 112 + 114 + net_switch0 + management_interface0 + + management_interface + 114 + False + + management_interface0 + + 192.168.1.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 112 + 115 + net_switch0 + port1 + + port + 115 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 112 + 116 + net_switch0 + port2 + + port + 116 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 112 + 117 + net_switch0 + port3 + + port + 117 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 112 + 118 + net_switch0 + port4 + + port + 118 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 112 + 119 + net_switch0 + port5 + + port + 119 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 112 + 120 + net_switch0 + port6 + + port + 120 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 112 + 121 + net_switch0 + port7 + + port + 121 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + net_switch1 + 100 + 122 + 736,397 + net_switch + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 122 + 123 + net_switch1 + lo0 + + lo + 123 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + management_interface + management_interface0 + + 122 + 124 + net_switch1 + management_interface0 + + management_interface + 124 + False + + management_interface0 + + 192.168.2.4 + 255.255.255.0 + 0.0.0.0 + ip + + + + + port + port1 + + 122 + 125 + net_switch1 + port1 + + port + 125 + False + + port1 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port2 + + 122 + 126 + net_switch1 + port2 + + port + 126 + False + + port2 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port3 + + 122 + 127 + net_switch1 + port3 + + port + 127 + False + + port3 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port4 + + 122 + 128 + net_switch1 + port4 + + port + 128 + False + + port4 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port5 + + 122 + 129 + net_switch1 + port5 + + port + 129 + False + + port5 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port6 + + 122 + 130 + net_switch1 + port6 + + port + 130 + False + + port6 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + port + port7 + + 122 + 131 + net_switch1 + port7 + + port + 131 + False + + port7 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc0 + 100 + 106 + 103,530 + pc + False + False + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 106 + 107 + pc0 + lo0 + + lo + 107 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 106 + 108 + pc0 + eth0 + + eth + 108 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + pc1 + 100 + 109 + 610,513 + pc + False + False + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 109 + 110 + pc1 + lo0 + + lo + 110 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 109 + 111 + pc1 + eth0 + + eth + 111 + False + + eth0 + + 192.168.2.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc2 + 100 + 152 + 212,530 + pc + False + False + + 192.168.1.1 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 152 + 153 + pc2 + lo0 + + lo + 153 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 152 + 154 + pc2 + eth0 + + eth + 154 + False + + eth0 + + 192.168.1.3 + 255.255.255.0 + 0.0.0.0 + ip + + + + + + pc3 + 100 + 155 + 733,516 + pc + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 155 + 156 + pc3 + lo0 + + lo + 156 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 155 + 157 + pc3 + eth0 + + eth + 157 + True + + eth0 + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + ip + + + + + + router0 + 100 + 132 + 112,260 + router + False + False + + 192.168.3.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 132 + 133 + router0 + lo0 + + lo + 133 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 132 + 134 + router0 + eth0 + + eth + 134 + False + + eth0 + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 132 + 135 + router0 + eth1 + + eth + 135 + False + + eth1 + + 192.168.3.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + 192.168.2.1 + 255.255.255.0 + 192.168.3.2 + route + + + + router1 + 100 + 136 + 736,257 + router + False + False + + 192.168.4.2 + 255.255.255.0 + 192.168.4.2 + gw + + + lo + lo0 + + 136 + 137 + router1 + lo0 + + lo + 137 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 136 + 138 + router1 + eth0 + + eth + 138 + False + + eth0 + + 192.168.4.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 136 + 139 + router1 + eth1 + + eth + 139 + False + + eth1 + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.4.2 + route + + + + router2 + 100 + 140 + 403,110 + router + False + False + + 0.0.0.0 + 0.0.0.0 + 0.0.0.0 + gw + + + lo + lo0 + + 140 + 141 + router2 + lo0 + + lo + 141 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 140 + 142 + router2 + eth0 + + eth + 142 + False + + eth0 + + 192.168.3.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + eth + eth1 + + 140 + 143 + router2 + eth1 + + eth + 143 + False + + eth1 + + 192.168.4.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + 192.168.1.0 + 255.255.255.0 + 192.168.3.1 + route + + + 192.168.2.0 + 255.255.255.0 + 192.168.4.1 + route + + + + server0 + 100 + 100 + 8,520 + server + True + True + + 192.168.1.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 100 + 101 + server0 + lo0 + + lo + 101 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 100 + 102 + server0 + eth0 + + eth + 102 + False + + eth0 + + 192.168.1.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.1.2 + 192.168.1.5 + 192.168.1.7 + route + + + + server1 + 100 + 103 + 862,520 + server + False + True + + 192.168.2.1 + 255.255.255.0 + 0.0.0.0 + gw + + + lo + lo0 + + 103 + 104 + server1 + lo0 + + lo + 104 + False + + lo0 + + 127.0.0.1 + 255.0.0.0 + 0.0.0.0 + ip + + + + + eth + eth0 + + 103 + 105 + server1 + eth0 + + eth + 105 + False + + eth0 + + 192.168.2.2 + 255.255.255.0 + 0.0.0.0 + ip + + + + + 127.0.0.1 + 0.0.0.0 + 0.0.0.0 + route + + + 192.168.2.2 + 192.168.2.5 + 192.168.2.10 + route + + + + + 100 + 102 + server0 + eth0 + + + 112 + 115 + net_switch0 + port1 + + + 144 + + + + 140 + 143 + router2 + eth1 + + + 136 + 138 + router1 + eth0 + + + 148 + + + + 109 + 111 + pc1 + eth0 + + + 122 + 127 + net_switch1 + port3 + + + 151 + + + + 103 + 105 + server1 + eth0 + + + 122 + 126 + net_switch1 + port2 + + + 150 + + + + 136 + 139 + router1 + eth1 + + + 122 + 125 + net_switch1 + port1 + + + 149 + + + + 152 + 154 + pc2 + eth0 + + + 112 + 118 + net_switch0 + port4 + + + 159 + + + + 132 + 135 + router0 + eth1 + + + 140 + 142 + router2 + eth0 + + + 147 + + + + 112 + 117 + net_switch0 + port3 + + + 132 + 134 + router0 + eth0 + + + 146 + + + + 106 + 108 + pc0 + eth0 + + + 112 + 116 + net_switch0 + port2 + + + 145 + + + + 155 + 157 + pc3 + eth0 + + + 122 + 128 + net_switch1 + port4 + + + 158 + + + \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/WAP.png b/EduNetworkBuilder/Resources/WAP.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd5597f4f0fa384c4613f897091ce3068af2ea2 GIT binary patch literal 15998 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 literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/WRepeater.png b/EduNetworkBuilder/Resources/WRepeater.png new file mode 100644 index 0000000000000000000000000000000000000000..50f8d089ec5fcbd2599598eeebf7a7e2d826d993 GIT binary patch literal 15629 zcma)jWmH>T({^x|;_eQ`Demr0k>c(W+$Fe6DNb>BiWYYZR@~i+yY|cd{Cnu;tMG7&NW06>$MlhS~UqyN1S;UWKPbZhe<1H74{tQ2H~{5?x{ z20;cS7dbs30Dyx1-wO(ml|ulzh~O@-ERC>*fQk2+UJbn`6>^ExR!i4i(%I3`(#ak2 z766cRvov+Lw4m^^b+@6Al~-1?V6{X504M{k{rfhHJ}u4{P_e%1R@PLas%?7(*?cYF%e;*L&PZluYn!*lO)9xUskE5rUDAo zC@4v|pCUBX2q&xbgrP*bvA?p=HBjYiqO$_a-#LkpO>Hz*#KYvs9m@L2NLnKiiD7k_zQ?@|YS+~z;JySocb z@{8sIRYtCKCszXGHtvcgzhA9)V0IP4M(2)$4)5>bcl0`Ff9J+!OV&W*qX2GzD% zG+Nv(XjD=h?C7OZ8t=2%&f|{2bdi!Q$M%uo?LASMqS@Qmt$%@KrM9ZCLfqp7}1xoD#lieo!RLrk%Pz|KYoy(US0-$=lHT?F@r2jh$ewJE4@e4)G$=n za^a^QBkOx@3olQXdXgyokg;%fF94-GTnMiu109=uav-&ByjZ&9viy?)SyZptO@j!s zacyH%W?y!D^?;nzd-SXcXQ&T5d*TuCC{UPLf?gNh>+9dX16ffyBdDV=hh}uy!Ox|u zZf;j`O>8I@`%~MXw=fn&z-MOWv(XK&ty}><^h&wK5l>PLycnCh4bOiCc{$hCWM6+` zys9@fHlCuB@YRdYH{?6l;3;VE< zd0eia#=$OqlQ`c|cInqy$ue-ppMX<1)rseWqYz9aEzY0CFB6WCC(|lZ&R d=@Ub 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 MX%(qj36s$O2m1!Ta{vGU literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/WRouter.png b/EduNetworkBuilder/Resources/WRouter.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cd3b24ee4957e3fec1df1b9246a2045d7d15e8 GIT binary patch literal 22090 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 literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/firewall.png b/EduNetworkBuilder/Resources/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac425e8110b42f8fd69a5a11f12ce517c8cb7d3 GIT binary patch literal 17166 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 Tx2|=dV<|jc{an^LB{Ts57fV{N literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/firewalls.enbx b/EduNetworkBuilder/Resources/firewalls.enbx new file mode 100644 index 0000000..18f5af5 --- /dev/null +++ b/EduNetworkBuilder/Resources/firewalls.enbx @@ -0,0 +1,1765 @@ + + + + + + + <height>1024</height> + <width>1024</width> + <itemsize>100</itemsize> + <showlabels>False</showlabels> + <level>0</level> + <sortorder>0</sortorder> + <uniqueidentifier>186</uniqueidentifier> + <startinghelplevel>none</startinghelplevel> + <device> + <hostname>firewall0</hostname> + <size>100</size> + <uniqueidentifier>100</uniqueidentifier> + <location>180,510</location> + <mytype>firewall</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.5.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>100</hostid> + <nicid>101</nicid> + <hostname>firewall0</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>101</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>wan</nictype> + <nicname>wan0</nicname> + <myid> + <hostid>100</hostid> + <nicid>104</nicid> + <hostname>firewall0</hostname> + <nicname>wan0</nicname> + </myid> + <nictype>wan</nictype> + <uniqueidentifier>104</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>wan0</nicname> + <myip> + <ip>192.168.5.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>100</hostid> + <nicid>102</nicid> + <hostname>firewall0</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>102</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.1.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth1</nicname> + <myid> + <hostid>100</hostid> + <nicid>103</nicid> + <hostname>firewall0</hostname> + <nicname>eth1</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>103</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>vpn</nictype> + <nicname>vpn0</nicname> + <myid> + <hostid>100</hostid> + <nicid>157</nicid> + <hostname>firewall0</hostname> + <nicname>vpn0</nicname> + </myid> + <nictype>vpn</nictype> + <uniqueidentifier>157</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <encryptionkey>Test</encryptionkey> + <tunnelendpoint> + <ip>192.168.6.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip_only</type> + </tunnelendpoint> + <interface> + <nicname>vpn0</nicname> + <myip> + <ip>192.168.50.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>vpn</nictype> + <nicname>vpn1</nicname> + <myid> + <hostid>100</hostid> + <nicid>184</nicid> + <hostname>firewall0</hostname> + <nicname>vpn1</nicname> + </myid> + <nictype>vpn</nictype> + <uniqueidentifier>184</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <encryptionkey>Secondary</encryptionkey> + <tunnelendpoint> + <ip>192.168.7.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip_only</type> + </tunnelendpoint> + <interface> + <nicname>vpn1</nicname> + <myip> + <ip>192.168.51.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <route> + <ip>192.168.2.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.50.2</gateway> + <type>route</type> + </route> + <route> + <ip>192.168.3.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.51.2</gateway> + <type>route</type> + </route> + </device> + <device> + <hostname>firewall1</hostname> + <size>100</size> + <uniqueidentifier>105</uniqueidentifier> + <location>700,510</location> + <mytype>firewall</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.6.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>105</hostid> + <nicid>106</nicid> + <hostname>firewall1</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>106</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>wan</nictype> + <nicname>wan0</nicname> + <myid> + <hostid>105</hostid> + <nicid>109</nicid> + <hostname>firewall1</hostname> + <nicname>wan0</nicname> + </myid> + <nictype>wan</nictype> + <uniqueidentifier>109</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>wan0</nicname> + <myip> + <ip>192.168.6.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>105</hostid> + <nicid>107</nicid> + <hostname>firewall1</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>107</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.2.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth1</nicname> + <myid> + <hostid>105</hostid> + <nicid>108</nicid> + <hostname>firewall1</hostname> + <nicname>eth1</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>108</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>vpn</nictype> + <nicname>vpn0</nicname> + <myid> + <hostid>105</hostid> + <nicid>156</nicid> + <hostname>firewall1</hostname> + <nicname>vpn0</nicname> + </myid> + <nictype>vpn</nictype> + <uniqueidentifier>156</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <encryptionkey>Test</encryptionkey> + <tunnelendpoint> + <ip>192.168.5.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip_only</type> + </tunnelendpoint> + <interface> + <nicname>vpn0</nicname> + <myip> + <ip>192.168.50.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <route> + <ip>192.168.1.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.50.1</gateway> + <type>route</type> + </route> + <route> + <ip>192.168.3.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.50.1</gateway> + <type>route</type> + </route> + </device> + <device> + <hostname>firewall2</hostname> + <size>100</size> + <uniqueidentifier>158</uniqueidentifier> + <location>430,230</location> + <mytype>firewall</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.7.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>158</hostid> + <nicid>159</nicid> + <hostname>firewall2</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>159</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>wan</nictype> + <nicname>wan0</nicname> + <myid> + <hostid>158</hostid> + <nicid>162</nicid> + <hostname>firewall2</hostname> + <nicname>wan0</nicname> + </myid> + <nictype>wan</nictype> + <uniqueidentifier>162</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>wan0</nicname> + <myip> + <ip>192.168.7.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>158</hostid> + <nicid>160</nicid> + <hostname>firewall2</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>160</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.3.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth1</nicname> + <myid> + <hostid>158</hostid> + <nicid>161</nicid> + <hostname>firewall2</hostname> + <nicname>eth1</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>161</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>vpn</nictype> + <nicname>vpn0</nicname> + <myid> + <hostid>158</hostid> + <nicid>185</nicid> + <hostname>firewall2</hostname> + <nicname>vpn0</nicname> + </myid> + <nictype>vpn</nictype> + <uniqueidentifier>185</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <encryptionkey>Secondary</encryptionkey> + <tunnelendpoint> + <ip>192.168.5.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip_only</type> + </tunnelendpoint> + <interface> + <nicname>vpn0</nicname> + <myip> + <ip>192.168.51.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <route> + <ip>192.168.1.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.51.1</gateway> + <type>route</type> + </route> + <route> + <ip>192.168.2.1</ip> + <mask>255.255.255.0</mask> + <gateway>192.168.51.1</gateway> + <type>route</type> + </route> + </device> + <device> + <hostname>laptop0</hostname> + <size>100</size> + <uniqueidentifier>140</uniqueidentifier> + <location>280,830</location> + <mytype>laptop</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.1.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>140</hostid> + <nicid>141</nicid> + <hostname>laptop0</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>141</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>140</hostid> + <nicid>142</nicid> + <hostname>laptop0</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>142</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.1.3</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>laptop1</hostname> + <size>100</size> + <uniqueidentifier>143</uniqueidentifier> + <location>800,850</location> + <mytype>laptop</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.2.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>143</hostid> + <nicid>144</nicid> + <hostname>laptop1</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>144</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>143</hostid> + <nicid>145</nicid> + <hostname>laptop1</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>145</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.2.3</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>laptop2</hostname> + <size>100</size> + <uniqueidentifier>176</uniqueidentifier> + <location>570,0</location> + <mytype>laptop</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.3.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>176</hostid> + <nicid>177</nicid> + <hostname>laptop2</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>177</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>176</hostid> + <nicid>178</nicid> + <hostname>laptop2</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>178</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.3.3</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>net_switch0</hostname> + <size>100</size> + <uniqueidentifier>114</uniqueidentifier> + <location>180,670</location> + <mytype>net_switch</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>114</hostid> + <nicid>115</nicid> + <hostname>net_switch0</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>115</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>management_interface</nictype> + <nicname>management_interface0</nicname> + <myid> + <hostid>114</hostid> + <nicid>116</nicid> + <hostname>net_switch0</hostname> + <nicname>management_interface0</nicname> + </myid> + <nictype>management_interface</nictype> + <uniqueidentifier>116</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>management_interface0</nicname> + <myip> + <ip>192.168.1.4</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port1</nicname> + <myid> + <hostid>114</hostid> + <nicid>117</nicid> + <hostname>net_switch0</hostname> + <nicname>port1</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>117</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port2</nicname> + <myid> + <hostid>114</hostid> + <nicid>118</nicid> + <hostname>net_switch0</hostname> + <nicname>port2</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>118</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port2</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port3</nicname> + <myid> + <hostid>114</hostid> + <nicid>119</nicid> + <hostname>net_switch0</hostname> + <nicname>port3</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>119</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port3</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port4</nicname> + <myid> + <hostid>114</hostid> + <nicid>120</nicid> + <hostname>net_switch0</hostname> + <nicname>port4</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>120</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port4</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port5</nicname> + <myid> + <hostid>114</hostid> + <nicid>121</nicid> + <hostname>net_switch0</hostname> + <nicname>port5</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>121</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port5</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port6</nicname> + <myid> + <hostid>114</hostid> + <nicid>122</nicid> + <hostname>net_switch0</hostname> + <nicname>port6</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>122</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port6</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port7</nicname> + <myid> + <hostid>114</hostid> + <nicid>123</nicid> + <hostname>net_switch0</hostname> + <nicname>port7</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>123</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port7</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>net_switch1</hostname> + <size>100</size> + <uniqueidentifier>124</uniqueidentifier> + <location>700,690</location> + <mytype>net_switch</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.2.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>124</hostid> + <nicid>125</nicid> + <hostname>net_switch1</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>125</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>management_interface</nictype> + <nicname>management_interface0</nicname> + <myid> + <hostid>124</hostid> + <nicid>126</nicid> + <hostname>net_switch1</hostname> + <nicname>management_interface0</nicname> + </myid> + <nictype>management_interface</nictype> + <uniqueidentifier>126</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>management_interface0</nicname> + <myip> + <ip>192.168.2.4</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port1</nicname> + <myid> + <hostid>124</hostid> + <nicid>127</nicid> + <hostname>net_switch1</hostname> + <nicname>port1</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>127</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port2</nicname> + <myid> + <hostid>124</hostid> + <nicid>128</nicid> + <hostname>net_switch1</hostname> + <nicname>port2</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>128</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port2</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port3</nicname> + <myid> + <hostid>124</hostid> + <nicid>129</nicid> + <hostname>net_switch1</hostname> + <nicname>port3</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>129</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port3</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port4</nicname> + <myid> + <hostid>124</hostid> + <nicid>130</nicid> + <hostname>net_switch1</hostname> + <nicname>port4</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>130</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port4</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port5</nicname> + <myid> + <hostid>124</hostid> + <nicid>131</nicid> + <hostname>net_switch1</hostname> + <nicname>port5</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>131</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port5</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port6</nicname> + <myid> + <hostid>124</hostid> + <nicid>132</nicid> + <hostname>net_switch1</hostname> + <nicname>port6</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>132</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port6</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port7</nicname> + <myid> + <hostid>124</hostid> + <nicid>133</nicid> + <hostname>net_switch1</hostname> + <nicname>port7</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>133</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port7</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>net_switch2</hostname> + <size>100</size> + <uniqueidentifier>163</uniqueidentifier> + <location>430,80</location> + <mytype>net_switch</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.3.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>163</hostid> + <nicid>164</nicid> + <hostname>net_switch2</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>164</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>management_interface</nictype> + <nicname>management_interface0</nicname> + <myid> + <hostid>163</hostid> + <nicid>165</nicid> + <hostname>net_switch2</hostname> + <nicname>management_interface0</nicname> + </myid> + <nictype>management_interface</nictype> + <uniqueidentifier>165</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>management_interface0</nicname> + <myip> + <ip>192.168.3.4</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port1</nicname> + <myid> + <hostid>163</hostid> + <nicid>166</nicid> + <hostname>net_switch2</hostname> + <nicname>port1</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>166</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port1</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port2</nicname> + <myid> + <hostid>163</hostid> + <nicid>167</nicid> + <hostname>net_switch2</hostname> + <nicname>port2</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>167</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port2</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port3</nicname> + <myid> + <hostid>163</hostid> + <nicid>168</nicid> + <hostname>net_switch2</hostname> + <nicname>port3</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>168</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port3</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port4</nicname> + <myid> + <hostid>163</hostid> + <nicid>169</nicid> + <hostname>net_switch2</hostname> + <nicname>port4</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>169</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port4</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port5</nicname> + <myid> + <hostid>163</hostid> + <nicid>170</nicid> + <hostname>net_switch2</hostname> + <nicname>port5</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>170</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port5</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port6</nicname> + <myid> + <hostid>163</hostid> + <nicid>171</nicid> + <hostname>net_switch2</hostname> + <nicname>port6</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>171</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port6</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>port</nictype> + <nicname>port7</nicname> + <myid> + <hostid>163</hostid> + <nicid>172</nicid> + <hostname>net_switch2</hostname> + <nicname>port7</nicname> + </myid> + <nictype>port</nictype> + <uniqueidentifier>172</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>port7</nicname> + <myip> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>pc0</hostname> + <size>100</size> + <uniqueidentifier>134</uniqueidentifier> + <location>90,830</location> + <mytype>pc</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.1.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>134</hostid> + <nicid>135</nicid> + <hostname>pc0</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>135</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>134</hostid> + <nicid>136</nicid> + <hostname>pc0</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>136</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.1.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>pc1</hostname> + <size>100</size> + <uniqueidentifier>137</uniqueidentifier> + <location>600,850</location> + <mytype>pc</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.2.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>137</hostid> + <nicid>138</nicid> + <hostname>pc1</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>138</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>137</hostid> + <nicid>139</nicid> + <hostname>pc1</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>139</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.2.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>pc2</hostname> + <size>100</size> + <uniqueidentifier>173</uniqueidentifier> + <location>260,10</location> + <mytype>pc</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>192.168.3.1</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>173</hostid> + <nicid>174</nicid> + <hostname>pc2</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>174</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>173</hostid> + <nicid>175</nicid> + <hostname>pc2</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>175</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.3.2</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <device> + <hostname>router0</hostname> + <size>100</size> + <uniqueidentifier>110</uniqueidentifier> + <location>430,410</location> + <mytype>router</mytype> + <isdns>False</isdns> + <isdhcp>False</isdhcp> + <gateway> + <ip>0.0.0.0</ip> + <mask>0.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>gw</type> + </gateway> + <nic> + <nictype>lo</nictype> + <nicname>lo0</nicname> + <myid> + <hostid>110</hostid> + <nicid>111</nicid> + <hostname>router0</hostname> + <nicname>lo0</nicname> + </myid> + <nictype>lo</nictype> + <uniqueidentifier>111</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>lo0</nicname> + <myip> + <ip>127.0.0.1</ip> + <mask>255.0.0.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth0</nicname> + <myid> + <hostid>110</hostid> + <nicid>112</nicid> + <hostname>router0</hostname> + <nicname>eth0</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>112</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth0</nicname> + <myip> + <ip>192.168.6.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth1</nicname> + <myid> + <hostid>110</hostid> + <nicid>113</nicid> + <hostname>router0</hostname> + <nicname>eth1</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>113</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth1</nicname> + <myip> + <ip>192.168.5.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + <nic> + <nictype>eth</nictype> + <nicname>eth2</nicname> + <myid> + <hostid>110</hostid> + <nicid>182</nicid> + <hostname>router0</hostname> + <nicname>eth2</nicname> + </myid> + <nictype>eth</nictype> + <uniqueidentifier>182</uniqueidentifier> + <usesdhcp>False</usesdhcp> + <interface> + <nicname>eth2</nicname> + <myip> + <ip>192.168.7.1</ip> + <mask>255.255.255.0</mask> + <gateway>0.0.0.0</gateway> + <type>ip</type> + </myip> + </interface> + </nic> + </device> + <link> + <SrcNic> + <hostid>140</hostid> + <nicid>142</nicid> + <hostname>laptop0</hostname> + <nicname>eth0</nicname> + </SrcNic> + <DstNic> + <hostid>114</hostid> + <nicid>118</nicid> + <hostname>net_switch0</hostname> + <nicname>port2</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>147</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>163</hostid> + <nicid>166</nicid> + <hostname>net_switch2</hostname> + <nicname>port1</nicname> + </SrcNic> + <DstNic> + <hostid>173</hostid> + <nicid>175</nicid> + <hostname>pc2</hostname> + <nicname>eth0</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>179</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>134</hostid> + <nicid>136</nicid> + <hostname>pc0</hostname> + <nicname>eth0</nicname> + </SrcNic> + <DstNic> + <hostid>114</hostid> + <nicid>117</nicid> + <hostname>net_switch0</hostname> + <nicname>port1</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>146</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>137</hostid> + <nicid>139</nicid> + <hostname>pc1</hostname> + <nicname>eth0</nicname> + </SrcNic> + <DstNic> + <hostid>124</hostid> + <nicid>127</nicid> + <hostname>net_switch1</hostname> + <nicname>port1</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>149</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>143</hostid> + <nicid>145</nicid> + <hostname>laptop1</hostname> + <nicname>eth0</nicname> + </SrcNic> + <DstNic> + <hostid>124</hostid> + <nicid>128</nicid> + <hostname>net_switch1</hostname> + <nicname>port2</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>150</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>158</hostid> + <nicid>160</nicid> + <hostname>firewall2</hostname> + <nicname>eth0</nicname> + </SrcNic> + <DstNic> + <hostid>163</hostid> + <nicid>168</nicid> + <hostname>net_switch2</hostname> + <nicname>port3</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>181</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>105</hostid> + <nicid>109</nicid> + <hostname>firewall1</hostname> + <nicname>wan0</nicname> + </SrcNic> + <DstNic> + <hostid>110</hostid> + <nicid>112</nicid> + <hostname>router0</hostname> + <nicname>eth0</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>153</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>114</hostid> + <nicid>119</nicid> + <hostname>net_switch0</hostname> + <nicname>port3</nicname> + </SrcNic> + <DstNic> + <hostid>100</hostid> + <nicid>102</nicid> + <hostname>firewall0</hostname> + <nicname>eth0</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>154</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>100</hostid> + <nicid>104</nicid> + <hostname>firewall0</hostname> + <nicname>wan0</nicname> + </SrcNic> + <DstNic> + <hostid>110</hostid> + <nicid>113</nicid> + <hostname>router0</hostname> + <nicname>eth1</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>155</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>124</hostid> + <nicid>129</nicid> + <hostname>net_switch1</hostname> + <nicname>port3</nicname> + </SrcNic> + <DstNic> + <hostid>105</hostid> + <nicid>107</nicid> + <hostname>firewall1</hostname> + <nicname>eth0</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>152</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>163</hostid> + <nicid>167</nicid> + <hostname>net_switch2</hostname> + <nicname>port2</nicname> + </SrcNic> + <DstNic> + <hostid>176</hostid> + <nicid>178</nicid> + <hostname>laptop2</hostname> + <nicname>eth0</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>180</uniqueidentifier> + </link> + <link> + <SrcNic> + <hostid>158</hostid> + <nicid>162</nicid> + <hostname>firewall2</hostname> + <nicname>wan0</nicname> + </SrcNic> + <DstNic> + <hostid>110</hostid> + <nicid>182</nicid> + <hostname>router0</hostname> + <nicname>eth2</nicname> + </DstNic> + <hostname /> + <uniqueidentifier>183</uniqueidentifier> + </link> + </Network> +</EduNetworkBuilder> \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/ip_phone.png b/EduNetworkBuilder/Resources/ip_phone.png new file mode 100644 index 0000000000000000000000000000000000000000..45147f47a285dd5f969f12c48788e16d7756c2f6 GIT binary patch literal 6980 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 Q{`<^QSAK@9P_zj9AIQV!<p2Nx literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/languages/edustrings.fr.Designer.cs b/EduNetworkBuilder/Resources/languages/edustrings.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/EduNetworkBuilder/Resources/languages/edustrings.fr.resx b/EduNetworkBuilder/Resources/languages/edustrings.fr.resx new file mode 100644 index 0000000..a4d83f5 --- /dev/null +++ b/EduNetworkBuilder/Resources/languages/edustrings.fr.resx @@ -0,0 +1,414 @@ +<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="NB_msMainMenuStrip" xml:space="preserve"> + <value>msMainMenuStrip</value> + </data> + <data name="NB_fileToolStripMenuItem" xml:space="preserve"> + <value>Fichier</value> + </data> + <data name="NB_newToolStripMenuItem" xml:space="preserve"> + <value>Nouveau</value> + </data> + <data name="NB_loadToolStripMenuItem" xml:space="preserve"> + <value>Charge</value> + </data> + <data name="NB_reloadToolStripMenuItem" xml:space="preserve"> + <value>Recharger</value> + </data> + <data name="NB_saveToolStripMenuItem" xml:space="preserve"> + <value>Sauvegarder</value> + </data> + <data name="NB_exitToolStripMenuItem" xml:space="preserve"> + <value>Sortie</value> + </data> + <data name="NB_editToolStripMenuItem" xml:space="preserve"> + <value>Éditer</value> + </data> + <data name="NB_cutToolStripMenuItem" xml:space="preserve"> + <value>Coupe</value> + </data> + <data name="NB_copyToolStripMenuItem" xml:space="preserve"> + <value>Copie</value> + </data> + <data name="NB_pasteToolStripMenuItem" xml:space="preserve"> + <value>Pâte</value> + </data> + <data name="NB_undoToolStripMenuItem" xml:space="preserve"> + <value>Défaire</value> + </data> + <data name="NB_optionsToolStripMenuItem" xml:space="preserve"> + <value>Options</value> + </data> + <data name="NB_allToolStripMenuItem" xml:space="preserve"> + <value>Tous</value> + </data> + <data name="NB_dHCPRequestToolStripMenuItem" xml:space="preserve"> + <value>Requête DHCP</value> + </data> + <data name="NB_clearArpTableToolStripMenuItem" xml:space="preserve"> + <value>Effacer Arp tableau</value> + </data> + <data name="NB_clearIPsToolStripMenuItem" xml:space="preserve"> + <value>IPs claires</value> + </data> + <data name="NB_pingToolStripMenuItem" xml:space="preserve"> + <value>Ping</value> + </data> + <data name="NB_helpToolStripMenuItem" xml:space="preserve"> + <value>Aidez-Moi</value> + </data> + <data name="NB_helpToolStripMenuItem1" xml:space="preserve"> + <value>Aidez-Moi</value> + </data> + <data name="NB_aboutToolStripMenuItem" xml:space="preserve"> + <value>Sur</value> + </data> + <data name="NB_releaseNotesToolStripMenuItem" xml:space="preserve"> + <value>Notes De Version</value> + </data> + <data name="NB_checkForUpdatesToolStripMenuItem" xml:space="preserve"> + <value>Vérifier les mises à jour</value> + </data> + <data name="NB_samplesToolStripMenuItem" xml:space="preserve"> + <value>Échantillons</value> + </data> + <data name="NB_puzzlesToolStripMenuItem" xml:space="preserve"> + <value>Puzzle</value> + </data> + <data name="NB_solvedToolStripMenuItem" xml:space="preserve"> + <value>Résolu</value> + </data> + <data name="NB_dHCPToolStripMenuItem" xml:space="preserve"> + <value>DHCP</value> + </data> + <data name="NB_oneNetworkToolStripMenuItem" xml:space="preserve"> + <value>One Network</value> + </data> + <data name="NB_twoNetworksToolStripMenuItem" xml:space="preserve"> + <value>Deux réseaux</value> + </data> + <data name="NB_threeNetworksToolStripMenuItem" xml:space="preserve"> + <value>Trois Réseaux</value> + </data> + <data name="NB_firewallsToolStripMenuItem" xml:space="preserve"> + <value>Firewalls</value> + </data> + <data name="NB_toSolveToolStripMenuItem" xml:space="preserve"> + <value>Résoudre</value> + </data> + <data name="NB_solvedDHCPToolStripMenuItem" xml:space="preserve"> + <value>DHCP</value> + </data> + <data name="NB_solvedOneNetworkToolStripMenuItem" xml:space="preserve"> + <value>One Network</value> + </data> + <data name="NB_solvedTwoNetworksToolStripMenuItem" xml:space="preserve"> + <value>Deux réseaux</value> + </data> + <data name="NB_SolvedThreeNetworksToolStripMenuItem" xml:space="preserve"> + <value>Trois Réseaux</value> + </data> + <data name="NB_firewallsToolStripMenuItem1" xml:space="preserve"> + <value>Firewalls</value> + </data> + <data name="NB_lblStatus" xml:space="preserve"> + <value>lblStatus</value> + </data> + <data name="NB_btnHelp" xml:space="preserve"> + <value>?</value> + </data> + <data name="NB_Form" xml:space="preserve"> + <value>Network Builder</value> + </data> + <data name="DC_lblHostname" xml:space="preserve"> + <value>Hostname</value> + </data> + <data name="DC_lblHelp" xml:space="preserve"> + <value>HelpGoesHere</value> + </data> + <data name="DC_btnCancel" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="DC_btnOK" xml:space="preserve"> + <value>Ok</value> + </data> + <data name="DC_btnNicPlus" xml:space="preserve"> + <value /> + </data> + <data name="DC_btnNicMinus" xml:space="preserve"> + <value>-</value> + </data> + <data name="DC_btnNicEdit" xml:space="preserve"> + <value>éditer</value> + </data> + <data name="DC_btnIfEdit" xml:space="preserve"> + <value>éditer</value> + </data> + <data name="DC_btnIfMinus" xml:space="preserve"> + <value>-</value> + </data> + <data name="DC_btnIfAdd" xml:space="preserve"> + <value /> + </data> + <data name="DC_btnGateway" xml:space="preserve"> + <value>Passerelle:</value> + </data> + <data name="DC_btnRoutes" xml:space="preserve"> + <value>Routes</value> + </data> + <data name="DC_cbDHCP" xml:space="preserve"> + <value>Serveur DHCP</value> + </data> + <data name="DC_btnDHCP" xml:space="preserve"> + <value>DHCP</value> + </data> + <data name="DC_Form" xml:space="preserve"> + <value>DeviceConfig</value> + </data> + <data name="IPAE_lblIP" xml:space="preserve"> + <value>IP</value> + </data> + <data name="IPAE_lblNetmask" xml:space="preserve"> + <value>Netmask</value> + </data> + <data name="IPAE_lblGateway" xml:space="preserve"> + <value>Passerelle</value> + </data> + <data name="IPAE_btnCancel" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="IPAE_btnOK" xml:space="preserve"> + <value>OK</value> + </data> + <data name="IPAE_Form" xml:space="preserve"> + <value>Adresse IP Entrée</value> + </data> + <data name="LE_btnLink" xml:space="preserve"> + <value>Lien</value> + </data> + <data name="LE_btnCancel" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="LE_Form" xml:space="preserve"> + <value>LinkEditor</value> + </data> + <data name="LBW_btnOK" xml:space="preserve"> + <value>OK</value> + </data> + <data name="LBW_lblInstructions" xml:space="preserve"> + <value>label1</value> + </data> + <data name="LBW_btnAdd" xml:space="preserve"> + <value>Nouveau</value> + </data> + <data name="LBW_cbLoadPuzzlesAtStart" xml:space="preserve"> + <value>Montrer ce au démarrage</value> + </data> + <data name="LBW_btnReset" xml:space="preserve"> + <value>Réinitialiser</value> + </data> + <data name="LBW_Form" xml:space="preserve"> + <value>ListBoxWindow</value> + </data> + <data name="NTE_lblSource" xml:space="preserve"> + <value>Source Host</value> + </data> + <data name="NTE_lblTest" xml:space="preserve"> + <value>Test</value> + </data> + <data name="NTE_lblDest" xml:space="preserve"> + <value>Dest hôte</value> + </data> + <data name="NTE_btnOK" xml:space="preserve"> + <value>Terminé</value> + </data> + <data name="NTE_btnCancel" xml:space="preserve"> + <value>Annuler</value> + </data> + <data name="NTE_Form" xml:space="preserve"> + <value>Modifier un test</value> + </data> + <data name="NCE_cbCanUseDHCP" xml:space="preserve"> + <value>Peut utiliser DHCP</value> + </data> + <data name="NCE_cbDHCP" xml:space="preserve"> + <value>Utilise DHCP</value> + </data> + <data name="NCE_label1" xml:space="preserve"> + <value>Nom Nic</value> + </data> + <data name="NCE_label2" xml:space="preserve"> + <value>Nic type</value> + </data> + <data name="NCE_label3" xml:space="preserve"> + <value>Adresse Mac</value> + </data> + <data name="NCE_btnDone" xml:space="preserve"> + <value>Terminé</value> + </data> + <data name="NCE_lblLinkStatus" xml:space="preserve"> + <value>LinkStatus</value> + </data> + <data name="NCE_Form" xml:space="preserve"> + <value>NetworkCardEditor</value> + </data> + <data name="OW_btnDone" xml:space="preserve"> + <value>Terminé</value> + </data> + <data name="OW_lblNetTitle" xml:space="preserve"> + <value>Titre Net</value> + </data> + <data name="OW_cbDisplayTitles" xml:space="preserve"> + <value>Afficher Titres</value> + </data> + <data name="OW_lblNetSize" xml:space="preserve"> + <value>Taille du réseau (x, y)</value> + </data> + <data name="OW_lblItemSize" xml:space="preserve"> + <value>ItemSize</value> + </data> + <data name="OW_lblNetMessage" xml:space="preserve"> + <value>Message donné lorsque le réseau chargé</value> + </data> + <data name="OW_lblTests" xml:space="preserve"> + <value>Tests (pour Puzzles)</value> + </data> + <data name="OW_lblTags" xml:space="preserve"> + <value>Tags pour Puzzle</value> + </data> + <data name="OW_lblLevel" xml:space="preserve"> + <value>Niveau</value> + </data> + <data name="OW_lblSortOrder" xml:space="preserve"> + <value>Ordre De Tri</value> + </data> + <data name="OW_lblStartingHelp" xml:space="preserve"> + <value>Démarrage Aide Level</value> + </data> + <data name="OW_Form" xml:space="preserve"> + <value>OptionsWindow</value> + </data> + <data name="RTFW_btnOK" xml:space="preserve"> + <value>OK</value> + </data> + <data name="RTFW_Form" xml:space="preserve"> + <value>RTFWindow</value> + </data> +</root> \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/languages/edustrings.resx b/EduNetworkBuilder/Resources/languages/edustrings.resx new file mode 100644 index 0000000..c722b3e --- /dev/null +++ b/EduNetworkBuilder/Resources/languages/edustrings.resx @@ -0,0 +1,520 @@ +<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="NB_msMainMenuStrip" xml:space="preserve"> + <value>msMainMenuStrip</value> + <comment>NetworkBuilder msMainMenuStrip = msMainMenuStrip</comment> + </data> + <data name="NB_fileToolStripMenuItem" xml:space="preserve"> + <value>File</value> + <comment>NetworkBuilder fileToolStripMenuItem = File</comment> + </data> + <data name="NB_newToolStripMenuItem" xml:space="preserve"> + <value>New</value> + <comment>NetworkBuilder newToolStripMenuItem = New</comment> + </data> + <data name="NB_loadToolStripMenuItem" xml:space="preserve"> + <value>Load</value> + <comment>NetworkBuilder loadToolStripMenuItem = Load</comment> + </data> + <data name="NB_reloadToolStripMenuItem" xml:space="preserve"> + <value>Reload</value> + <comment>NetworkBuilder reloadToolStripMenuItem = Reload</comment> + </data> + <data name="NB_saveToolStripMenuItem" xml:space="preserve"> + <value>Save</value> + <comment>NetworkBuilder saveToolStripMenuItem = Save</comment> + </data> + <data name="NB_exitToolStripMenuItem" xml:space="preserve"> + <value>Exit</value> + <comment>NetworkBuilder exitToolStripMenuItem = Exit</comment> + </data> + <data name="NB_editToolStripMenuItem" xml:space="preserve"> + <value>Edit</value> + <comment>NetworkBuilder editToolStripMenuItem = Edit</comment> + </data> + <data name="NB_cutToolStripMenuItem" xml:space="preserve"> + <value>Cut</value> + <comment>NetworkBuilder cutToolStripMenuItem = Cut</comment> + </data> + <data name="NB_copyToolStripMenuItem" xml:space="preserve"> + <value>Copy</value> + <comment>NetworkBuilder copyToolStripMenuItem = Copy</comment> + </data> + <data name="NB_pasteToolStripMenuItem" xml:space="preserve"> + <value>Paste</value> + <comment>NetworkBuilder pasteToolStripMenuItem = Paste</comment> + </data> + <data name="NB_undoToolStripMenuItem" xml:space="preserve"> + <value>Undo</value> + <comment>NetworkBuilder undoToolStripMenuItem = Undo</comment> + </data> + <data name="NB_optionsToolStripMenuItem" xml:space="preserve"> + <value>Options</value> + <comment>NetworkBuilder optionsToolStripMenuItem = Options</comment> + </data> + <data name="NB_allToolStripMenuItem" xml:space="preserve"> + <value>All</value> + <comment>NetworkBuilder allToolStripMenuItem = All</comment> + </data> + <data name="NB_dHCPRequestToolStripMenuItem" xml:space="preserve"> + <value>DHCP Request</value> + <comment>NetworkBuilder dHCPRequestToolStripMenuItem = DHCP Request</comment> + </data> + <data name="NB_clearArpTableToolStripMenuItem" xml:space="preserve"> + <value>Clear Arp Table</value> + <comment>NetworkBuilder clearArpTableToolStripMenuItem = Clear Arp Table</comment> + </data> + <data name="NB_clearIPsToolStripMenuItem" xml:space="preserve"> + <value>Clear IPs</value> + <comment>NetworkBuilder clearIPsToolStripMenuItem = Clear IPs</comment> + </data> + <data name="NB_pingToolStripMenuItem" xml:space="preserve"> + <value>Ping</value> + <comment>NetworkBuilder pingToolStripMenuItem = Ping</comment> + </data> + <data name="NB_helpToolStripMenuItem" xml:space="preserve"> + <value>Help</value> + <comment>NetworkBuilder helpToolStripMenuItem = Help</comment> + </data> + <data name="NB_helpToolStripMenuItem1" xml:space="preserve"> + <value>Help</value> + <comment>NetworkBuilder helpToolStripMenuItem1 = Help</comment> + </data> + <data name="NB_aboutToolStripMenuItem" xml:space="preserve"> + <value>About</value> + <comment>NetworkBuilder aboutToolStripMenuItem = About</comment> + </data> + <data name="NB_releaseNotesToolStripMenuItem" xml:space="preserve"> + <value>Release Notes</value> + <comment>NetworkBuilder releaseNotesToolStripMenuItem = Release Notes</comment> + </data> + <data name="NB_checkForUpdatesToolStripMenuItem" xml:space="preserve"> + <value>Check For Updates</value> + <comment>NetworkBuilder checkForUpdatesToolStripMenuItem = Check For Updates</comment> + </data> + <data name="NB_samplesToolStripMenuItem" xml:space="preserve"> + <value>Samples</value> + <comment>NetworkBuilder samplesToolStripMenuItem = Samples</comment> + </data> + <data name="NB_puzzlesToolStripMenuItem" xml:space="preserve"> + <value>Puzzles</value> + <comment>NetworkBuilder puzzlesToolStripMenuItem = Puzzles</comment> + </data> + <data name="NB_solvedToolStripMenuItem" xml:space="preserve"> + <value>Solved</value> + <comment>NetworkBuilder solvedToolStripMenuItem = Solved</comment> + </data> + <data name="NB_dHCPToolStripMenuItem" xml:space="preserve"> + <value>DHCP</value> + <comment>NetworkBuilder dHCPToolStripMenuItem = DHCP</comment> + </data> + <data name="NB_oneNetworkToolStripMenuItem" xml:space="preserve"> + <value>One Network</value> + <comment>NetworkBuilder oneNetworkToolStripMenuItem = One Network</comment> + </data> + <data name="NB_twoNetworksToolStripMenuItem" xml:space="preserve"> + <value>Two Networks</value> + <comment>NetworkBuilder twoNetworksToolStripMenuItem = Two Networks</comment> + </data> + <data name="NB_threeNetworksToolStripMenuItem" xml:space="preserve"> + <value>Three Networks</value> + <comment>NetworkBuilder threeNetworksToolStripMenuItem = Three Networks</comment> + </data> + <data name="NB_firewallsToolStripMenuItem" xml:space="preserve"> + <value>Firewalls</value> + <comment>NetworkBuilder firewallsToolStripMenuItem = Firewalls</comment> + </data> + <data name="NB_toSolveToolStripMenuItem" xml:space="preserve"> + <value>To Solve</value> + <comment>NetworkBuilder toSolveToolStripMenuItem = To Solve</comment> + </data> + <data name="NB_solvedDHCPToolStripMenuItem" xml:space="preserve"> + <value>DHCP</value> + <comment>NetworkBuilder solvedDHCPToolStripMenuItem = DHCP</comment> + </data> + <data name="NB_solvedOneNetworkToolStripMenuItem" xml:space="preserve"> + <value>One Network</value> + <comment>NetworkBuilder solvedOneNetworkToolStripMenuItem = One Network</comment> + </data> + <data name="NB_solvedTwoNetworksToolStripMenuItem" xml:space="preserve"> + <value>Two Networks</value> + <comment>NetworkBuilder solvedTwoNetworksToolStripMenuItem = Two Networks</comment> + </data> + <data name="NB_SolvedThreeNetworksToolStripMenuItem" xml:space="preserve"> + <value>Three Networks</value> + <comment>NetworkBuilder SolvedThreeNetworksToolStripMenuItem = Three Networks</comment> + </data> + <data name="NB_firewallsToolStripMenuItem1" xml:space="preserve"> + <value>Firewalls</value> + <comment>NetworkBuilder firewallsToolStripMenuItem1 = Firewalls</comment> + </data> + <data name="NB_lblStatus" xml:space="preserve"> + <value>lblStatus</value> + <comment>NetworkBuilder lblStatus = lblStatus</comment> + </data> + <data name="NB_btnHelp" xml:space="preserve"> + <value>?</value> + <comment>NetworkBuilder btnHelp = ?</comment> + </data> + <data name="NB_Form" xml:space="preserve"> + <value>Network Builder</value> + <comment>NetworkBuilder Form = Network Builder</comment> + </data> + <data name="DC_lblHostname" xml:space="preserve"> + <value>Hostname</value> + <comment>DeviceConfig lblHostname = Hostname</comment> + </data> + <data name="DC_lblHelp" xml:space="preserve"> + <value>HelpGoesHere</value> + <comment>DeviceConfig lblHelp = HelpGoesHere</comment> + </data> + <data name="DC_btnCancel" xml:space="preserve"> + <value>Cancel</value> + <comment>DeviceConfig btnCancel = Cancel</comment> + </data> + <data name="DC_btnOK" xml:space="preserve"> + <value>Ok</value> + <comment>DeviceConfig btnOK = Ok</comment> + </data> + <data name="DC_btnNicPlus" xml:space="preserve"> + <value>+</value> + <comment>DeviceConfig btnNicPlus = +</comment> + </data> + <data name="DC_btnNicMinus" xml:space="preserve"> + <value>-</value> + <comment>DeviceConfig btnNicMinus = -</comment> + </data> + <data name="DC_btnNicEdit" xml:space="preserve"> + <value>edit</value> + <comment>DeviceConfig btnNicEdit = edit</comment> + </data> + <data name="DC_btnIfEdit" xml:space="preserve"> + <value>edit</value> + <comment>DeviceConfig btnIfEdit = edit</comment> + </data> + <data name="DC_btnIfMinus" xml:space="preserve"> + <value>-</value> + <comment>DeviceConfig btnIfMinus = -</comment> + </data> + <data name="DC_btnIfAdd" xml:space="preserve"> + <value>+</value> + <comment>DeviceConfig btnIfAdd = +</comment> + </data> + <data name="DC_btnGateway" xml:space="preserve"> + <value>Gateway:</value> + <comment>DeviceConfig btnGateway = Gateway:</comment> + </data> + <data name="DC_btnRoutes" xml:space="preserve"> + <value>Routes</value> + <comment>DeviceConfig btnRoutes = Routes</comment> + </data> + <data name="DC_cbDHCP" xml:space="preserve"> + <value>DHCP Server</value> + <comment>DeviceConfig cbDHCP = DHCP Server</comment> + </data> + <data name="DC_btnDHCP" xml:space="preserve"> + <value>DHCP</value> + <comment>DeviceConfig btnDHCP = DHCP</comment> + </data> + <data name="DC_Form" xml:space="preserve"> + <value>DeviceConfig</value> + <comment>DeviceConfig Form = DeviceConfig</comment> + </data> + <data name="IPAE_lblIP" xml:space="preserve"> + <value>IP</value> + <comment>IPAddressEntry lblIP = IP</comment> + </data> + <data name="IPAE_lblNetmask" xml:space="preserve"> + <value>Netmask</value> + <comment>IPAddressEntry lblNetmask = Netmask</comment> + </data> + <data name="IPAE_lblGateway" xml:space="preserve"> + <value>Gateway</value> + <comment>IPAddressEntry lblGateway = Gateway</comment> + </data> + <data name="IPAE_btnCancel" xml:space="preserve"> + <value>Cancel</value> + <comment>IPAddressEntry btnCancel = Cancel</comment> + </data> + <data name="IPAE_btnOK" xml:space="preserve"> + <value>OK</value> + <comment>IPAddressEntry btnOK = OK</comment> + </data> + <data name="IPAE_Form" xml:space="preserve"> + <value>IP-Address Entry</value> + <comment>IPAddressEntry Form = IP-Address Entry</comment> + </data> + <data name="LE_btnLink" xml:space="preserve"> + <value>Link</value> + <comment>LinkEditor btnLink = Link</comment> + </data> + <data name="LE_btnCancel" xml:space="preserve"> + <value>Cancel</value> + <comment>LinkEditor btnCancel = Cancel</comment> + </data> + <data name="LE_Form" xml:space="preserve"> + <value>LinkEditor</value> + <comment>LinkEditor Form = LinkEditor</comment> + </data> + <data name="LBW_btnOK" xml:space="preserve"> + <value>OK</value> + <comment>ListBoxWindow btnOK = OK</comment> + </data> + <data name="LBW_lblInstructions" xml:space="preserve"> + <value>label1</value> + <comment>ListBoxWindow lblInstructions = label1</comment> + </data> + <data name="LBW_btnAdd" xml:space="preserve"> + <value>New</value> + <comment>ListBoxWindow btnAdd = New</comment> + </data> + <data name="LBW_cbLoadPuzzlesAtStart" xml:space="preserve"> + <value>Show this at start</value> + <comment>ListBoxWindow cbLoadPuzzlesAtStart = Show this at start</comment> + </data> + <data name="LBW_btnReset" xml:space="preserve"> + <value>Reset</value> + <comment>ListBoxWindow btnReset = Reset</comment> + </data> + <data name="LBW_Form" xml:space="preserve"> + <value>ListBoxWindow</value> + <comment>ListBoxWindow Form = ListBoxWindow</comment> + </data> + <data name="NTE_lblSource" xml:space="preserve"> + <value>Source Host</value> + <comment>NetTestEditor lblSource = Source Host</comment> + </data> + <data name="NTE_lblTest" xml:space="preserve"> + <value>Test</value> + <comment>NetTestEditor lblTest = Test</comment> + </data> + <data name="NTE_lblDest" xml:space="preserve"> + <value>Dest Host</value> + <comment>NetTestEditor lblDest = Dest Host</comment> + </data> + <data name="NTE_btnOK" xml:space="preserve"> + <value>Done</value> + <comment>NetTestEditor btnOK = Done</comment> + </data> + <data name="NTE_btnCancel" xml:space="preserve"> + <value>Cancel</value> + <comment>NetTestEditor btnCancel = Cancel</comment> + </data> + <data name="NTE_Form" xml:space="preserve"> + <value>Edit a Test</value> + <comment>NetTestEditor Form = Edit a Test</comment> + </data> + <data name="NCE_cbCanUseDHCP" xml:space="preserve"> + <value>Can use DHCP</value> + <comment>NetworkCardEditor cbCanUseDHCP = Can use DHCP</comment> + </data> + <data name="NCE_cbDHCP" xml:space="preserve"> + <value>Uses DHCP</value> + <comment>NetworkCardEditor cbDHCP = Uses DHCP</comment> + </data> + <data name="NCE_label1" xml:space="preserve"> + <value>Nic Name</value> + <comment>NetworkCardEditor label1 = Nic Name</comment> + </data> + <data name="NCE_label2" xml:space="preserve"> + <value>Nic Type</value> + <comment>NetworkCardEditor label2 = Nic Type</comment> + </data> + <data name="NCE_label3" xml:space="preserve"> + <value>MAC Address</value> + <comment>NetworkCardEditor label3 = MAC Address</comment> + </data> + <data name="NCE_btnDone" xml:space="preserve"> + <value>Done</value> + <comment>NetworkCardEditor btnDone = Done</comment> + </data> + <data name="NCE_lblLinkStatus" xml:space="preserve"> + <value>LinkStatus</value> + <comment>NetworkCardEditor lblLinkStatus = LinkStatus</comment> + </data> + <data name="NCE_Form" xml:space="preserve"> + <value>NetworkCardEditor</value> + <comment>NetworkCardEditor Form = NetworkCardEditor</comment> + </data> + <data name="OW_btnDone" xml:space="preserve"> + <value>Done</value> + <comment>OptionsWindow btnDone = Done</comment> + </data> + <data name="OW_lblNetTitle" xml:space="preserve"> + <value>Net Title</value> + <comment>OptionsWindow lblNetTitle = Net Title</comment> + </data> + <data name="OW_cbDisplayTitles" xml:space="preserve"> + <value>Display Titles</value> + <comment>OptionsWindow cbDisplayTitles = Display Titles</comment> + </data> + <data name="OW_lblNetSize" xml:space="preserve"> + <value>Network Size (x,y)</value> + <comment>OptionsWindow lblNetSize = Network Size (x,y)</comment> + </data> + <data name="OW_lblItemSize" xml:space="preserve"> + <value>ItemSize</value> + <comment>OptionsWindow lblItemSize = ItemSize</comment> + </data> + <data name="OW_lblNetMessage" xml:space="preserve"> + <value>Message given when network loaded</value> + <comment>OptionsWindow lblNetMessage = Message given when network loaded</comment> + </data> + <data name="OW_lblTests" xml:space="preserve"> + <value>Tests (for Puzzles)</value> + <comment>OptionsWindow lblTests = Tests (for Puzzles)</comment> + </data> + <data name="OW_lblTags" xml:space="preserve"> + <value>Tags for Puzzle</value> + <comment>OptionsWindow lblTags = Tags for Puzzle</comment> + </data> + <data name="OW_lblLevel" xml:space="preserve"> + <value>Level</value> + <comment>OptionsWindow lblLevel = Level</comment> + </data> + <data name="OW_lblSortOrder" xml:space="preserve"> + <value>Sort Order</value> + <comment>OptionsWindow lblSortOrder = Sort Order</comment> + </data> + <data name="OW_lblStartingHelp" xml:space="preserve"> + <value>Starting Help Level</value> + <comment>OptionsWindow lblStartingHelp = Starting Help Level</comment> + </data> + <data name="OW_Form" xml:space="preserve"> + <value>OptionsWindow</value> + <comment>OptionsWindow Form = OptionsWindow</comment> + </data> + <data name="RTFW_rtbContent" xml:space="preserve"> + <value /> + <comment>RTFWindow rtbContent = </comment> + </data> + <data name="RTFW_btnOK" xml:space="preserve"> + <value>OK</value> + <comment>RTFWindow btnOK = OK</comment> + </data> + <data name="RTFW_Form" xml:space="preserve"> + <value>RTFWindow</value> + <comment>RTFWindow Form = RTFWindow</comment> + </data> + <data name="NB_changeLanguageToolStripMenuItem" xml:space="preserve"> + <value>Change Language</value> + <comment>NetworkBuilder changeLanguageToolStripMenuItem = Change Language</comment> + </data> +</root> \ No newline at end of file diff --git a/EduNetworkBuilder/Resources/link.png b/EduNetworkBuilder/Resources/link.png new file mode 100644 index 0000000000000000000000000000000000000000..0b59a223cbe51e65874188c9329d41286803a3e2 GIT binary patch literal 2195 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 WaqkVrf6!b1H*m0Zv8l%TrTz<j>Z8{H literal 0 HcmV?d00001 diff --git a/EduNetworkBuilder/Resources/select.png b/EduNetworkBuilder/Resources/select.png new file mode 100644 index 0000000000000000000000000000000000000000..de13c8ae8d54982294f588e1f53323b79a9b90e7 GIT binary patch literal 4393 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 literal 0 HcmV?d00001