diff --git a/.github/workflows/dotnet-desktop.yml b/.github/workflows/dotnet-desktop.yml new file mode 100644 index 0000000..ab72c05 --- /dev/null +++ b/.github/workflows/dotnet-desktop.yml @@ -0,0 +1,115 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow will build, test, sign and package a WPF or Windows Forms desktop application +# built on .NET Core. +# To learn how to migrate your existing application to .NET Core, +# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework +# +# To configure this workflow: +# +# 1. Configure environment variables +# GitHub sets default environment variables for every workflow run. +# Replace the variables relative to your project in the "env" section below. +# +# 2. Signing +# Generate a signing certificate in the Windows Application +# Packaging Project or add an existing signing certificate to the project. +# Next, use PowerShell to encode the .pfx file using Base64 encoding +# by running the following Powershell script to generate the output string: +# +# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte +# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt' +# +# Open the output file, SigningCertificate_Encoded.txt, and copy the +# string inside. Then, add the string to the repo as a GitHub secret +# and name it "Base64_Encoded_Pfx." +# For more information on how to configure your signing certificate for +# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing +# +# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key". +# See "Build the Windows Application Packaging project" below to see how the secret is used. +# +# For more information on GitHub Actions, refer to https://github.com/features/actions +# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications, +# refer to https://github.com/microsoft/github-actions-for-desktop-apps + +name: .NET Core Desktop + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + + build: + + strategy: + matrix: + configuration: [Debug, Release] + + runs-on: windows-latest # For a list of available runner types, refer to + # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on + + env: + Solution_Name: your-solution-name # Replace with your solution name, i.e. MyWpfApp.sln. + Test_Project_Path: your-test-project-path # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj. + Wap_Project_Directory: your-wap-project-directory-name # Replace with the Wap project directory relative to the solution, i.e. MyWpfApp.Package. + Wap_Project_Path: your-wap-project-path # Replace with the path to your Wap project, i.e. MyWpf.App.Package\MyWpfApp.Package.wapproj. + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + # Install the .NET Core workload + - name: Install .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild + - name: Setup MSBuild.exe + uses: microsoft/setup-msbuild@v2 + + # Execute all unit tests in the solution + - name: Execute unit tests + run: dotnet test + + # Restore the application to populate the obj folder with RuntimeIdentifiers + - name: Restore the application + run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration + env: + Configuration: ${{ matrix.configuration }} + + # Decode the base 64 encoded pfx and save the Signing_Certificate + - name: Decode the pfx + run: | + $pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.Base64_Encoded_Pfx }}") + $certificatePath = Join-Path -Path $env:Wap_Project_Directory -ChildPath GitHubActionsWorkflow.pfx + [IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte) + + # Create the app package by building and packaging the Windows Application Packaging project + - name: Create the app package + run: msbuild $env:Wap_Project_Path /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle /p:PackageCertificateKeyFile=GitHubActionsWorkflow.pfx /p:PackageCertificatePassword=${{ secrets.Pfx_Key }} + env: + Appx_Bundle: Always + Appx_Bundle_Platforms: x86|x64 + Appx_Package_Build_Mode: StoreUpload + Configuration: ${{ matrix.configuration }} + + # Remove the pfx + - name: Remove the pfx + run: Remove-Item -path $env:Wap_Project_Directory\GitHubActionsWorkflow.pfx + + # Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: MSIX Package + path: ${{ env.Wap_Project_Directory }}\AppPackages diff --git a/.vs/GPS.Net 3.0 (Visual Studio 2010)/v16/.suo b/.vs/GPS.Net 3.0 (Visual Studio 2010)/v16/.suo new file mode 100644 index 0000000..e0f073c Binary files /dev/null and b/.vs/GPS.Net 3.0 (Visual Studio 2010)/v16/.suo differ diff --git a/.vs/GPS.Net/v16/.suo b/.vs/GPS.Net/v16/.suo new file mode 100644 index 0000000..a2ebea0 Binary files /dev/null and b/.vs/GPS.Net/v16/.suo differ diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..50f4034 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "\\Examples" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..0dd34fe Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/Examples/Compact Framework 3.5/VB.NET/.vs/GPS Diagnostics CF35 (VB.NET)/v16/.suo b/Examples/Compact Framework 3.5/VB.NET/.vs/GPS Diagnostics CF35 (VB.NET)/v16/.suo new file mode 100644 index 0000000..251a499 Binary files /dev/null and b/Examples/Compact Framework 3.5/VB.NET/.vs/GPS Diagnostics CF35 (VB.NET)/v16/.suo differ diff --git a/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs b/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs new file mode 100644 index 0000000..c66f422 --- /dev/null +++ b/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0,Profile=Client", FrameworkDisplayName = ".NET Framework 4 Client Profile")] diff --git a/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs new file mode 100644 index 0000000..5d01041 --- /dev/null +++ b/Examples/Desktop Framework/C#/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF20 (CSharp).csprojAssemblyReference.cache b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF20 (CSharp).csprojAssemblyReference.cache new file mode 100644 index 0000000..d9774da Binary files /dev/null and b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF20 (CSharp).csprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache new file mode 100644 index 0000000..e188599 Binary files /dev/null and b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF40 (CSharp).csprojAssemblyReference.cache b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF40 (CSharp).csprojAssemblyReference.cache new file mode 100644 index 0000000..954a0c0 Binary files /dev/null and b/Examples/Desktop Framework/C#/obj/Debug/GPS Diagnostics DF40 (CSharp).csprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs b/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs new file mode 100644 index 0000000..c66f422 --- /dev/null +++ b/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0,Profile=Client", FrameworkDisplayName = ".NET Framework 4 Client Profile")] diff --git a/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs new file mode 100644 index 0000000..5d01041 --- /dev/null +++ b/Examples/Desktop Framework/C#/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/Examples/Desktop Framework/C#/obj/Release/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache b/Examples/Desktop Framework/C#/obj/Release/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache new file mode 100644 index 0000000..954a0c0 Binary files /dev/null and b/Examples/Desktop Framework/C#/obj/Release/GPS Diagnostics DF35 (CSharp).csprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/VB.NET/.vs/GPS Diagnostics DF35 (VB.NET)/v16/.suo b/Examples/Desktop Framework/VB.NET/.vs/GPS Diagnostics DF35 (VB.NET)/v16/.suo new file mode 100644 index 0000000..2ab6f4f Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/.vs/GPS Diagnostics DF35 (VB.NET)/v16/.suo differ diff --git a/Examples/Desktop Framework/VB.NET/Backup/App.config b/Examples/Desktop Framework/VB.NET/Backup/App.config new file mode 100644 index 0000000..829b6c8 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/Backup/GPS Diagnostics DF35 (VB.NET).vbproj b/Examples/Desktop Framework/VB.NET/Backup/GPS Diagnostics DF35 (VB.NET).vbproj new file mode 100644 index 0000000..5aca407 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/GPS Diagnostics DF35 (VB.NET).vbproj @@ -0,0 +1,146 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {452F1CB0-6401-4D64-B2CC-CD53C411D927} + WinExe + Diagnostics.My.MyApplication + Diagnostics + Diagnostics + 512 + WindowsForms + v3.5 + On + Binary + Off + On + + + + + + + + + Gps.ico + + + true + full + true + true + bin\Debug\DF35\ + Diagnostics.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\DF35\ + Diagnostics.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + + + + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + Form + + + MainForm.vb + Form + + + True + Application.myapp + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + MainForm.vb + Designer + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + {26E18588-B04D-4987-BF36-8206A7E36FF9} + GeoFramework %28Desktop Framework 3.5%29 + + + {D4245DD6-79F6-466A-98D3-4AF15D8C39A9} + GPS.NET %28Desktop Framework 3.5%29 + + + + + + + + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/Backup/Gps.ico b/Examples/Desktop Framework/VB.NET/Backup/Gps.ico new file mode 100644 index 0000000..c0bf015 Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/Backup/Gps.ico differ diff --git a/Examples/Desktop Framework/VB.NET/Backup/MainForm.Designer.vb b/Examples/Desktop Framework/VB.NET/Backup/MainForm.Designer.vb new file mode 100644 index 0000000..31c642a --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/MainForm.Designer.vb @@ -0,0 +1,672 @@ + _ +Partial Class MainForm + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainForm)) + Me.startButton = New System.Windows.Forms.Button() + Me.bearingTextBox = New System.Windows.Forms.TextBox() + Me.splitContainer1 = New System.Windows.Forms.SplitContainer() + Me.devicesListView = New System.Windows.Forms.ListView() + Me.columnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.columnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.deviceContextMenu = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.redetectMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.resetMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.imageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.propertyGrid1 = New System.Windows.Forms.PropertyGrid() + Me.label5 = New System.Windows.Forms.Label() + Me.devicesTab = New System.Windows.Forms.TabPage() + Me.dataTab = New System.Windows.Forms.TabPage() + Me.altitudeTextBox = New System.Windows.Forms.TextBox() + Me.speedTextBox = New System.Windows.Forms.TextBox() + Me.label3 = New System.Windows.Forms.Label() + Me.label1 = New System.Windows.Forms.Label() + Me.dateTimeTextBox = New System.Windows.Forms.TextBox() + Me.label4 = New System.Windows.Forms.Label() + Me.label2 = New System.Windows.Forms.Label() + Me.positionTextBox = New System.Windows.Forms.TextBox() + Me.utcDateTimeTextBox = New System.Windows.Forms.TextBox() + Me.label6 = New System.Windows.Forms.Label() + Me.rawDataTab = New System.Windows.Forms.TabPage() + Me.sentenceListBox = New System.Windows.Forms.ListBox() + Me.satellitesTab = New System.Windows.Forms.TabPage() + Me.satellitesListView = New System.Windows.Forms.ListView() + Me.columnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.columnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.columnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.columnHeader6 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.columnHeader7 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.bluetoothCheckBox = New System.Windows.Forms.CheckBox() + Me.nmeaInterpreter1 = New GeoFramework.Gps.Nmea.NmeaInterpreter() + Me.serialCheckBox = New System.Windows.Forms.CheckBox() + Me.tabControl1 = New System.Windows.Forms.TabControl() + Me.statusLabel = New System.Windows.Forms.ToolStripStatusLabel() + Me.resumeButton = New System.Windows.Forms.Button() + Me.pauseButton = New System.Windows.Forms.Button() + Me.stopButton = New System.Windows.Forms.Button() + Me.statusStrip1 = New System.Windows.Forms.StatusStrip() + Me.positionLabel = New System.Windows.Forms.ToolStripStatusLabel() + Me.speedLabel = New System.Windows.Forms.ToolStripStatusLabel() + Me.bearingLabel = New System.Windows.Forms.ToolStripStatusLabel() + Me.altitudeLabel = New System.Windows.Forms.ToolStripStatusLabel() + Me.exhaustiveCheckBox = New System.Windows.Forms.CheckBox() + Me.cancelDetectButton = New System.Windows.Forms.Button() + Me.detectButton = New System.Windows.Forms.Button() + Me.undetectButton = New System.Windows.Forms.Button() + Me.firstDeviceCheckBox = New System.Windows.Forms.CheckBox() + Me.clockSynchronizationCheckBox = New System.Windows.Forms.CheckBox() + CType(Me.splitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.splitContainer1.Panel1.SuspendLayout() + Me.splitContainer1.Panel2.SuspendLayout() + Me.splitContainer1.SuspendLayout() + Me.deviceContextMenu.SuspendLayout() + Me.devicesTab.SuspendLayout() + Me.dataTab.SuspendLayout() + Me.rawDataTab.SuspendLayout() + Me.satellitesTab.SuspendLayout() + Me.tabControl1.SuspendLayout() + Me.statusStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'startButton + ' + Me.startButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.startButton.Location = New System.Drawing.Point(573, 142) + Me.startButton.Name = "startButton" + Me.startButton.Size = New System.Drawing.Size(98, 23) + Me.startButton.TabIndex = 0 + Me.startButton.Text = "Start" + Me.startButton.UseVisualStyleBackColor = True + ' + 'bearingTextBox + ' + Me.bearingTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.bearingTextBox.Location = New System.Drawing.Point(131, 156) + Me.bearingTextBox.Name = "bearingTextBox" + Me.bearingTextBox.Size = New System.Drawing.Size(407, 20) + Me.bearingTextBox.TabIndex = 13 + ' + 'splitContainer1 + ' + Me.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.splitContainer1.Location = New System.Drawing.Point(3, 3) + Me.splitContainer1.Name = "splitContainer1" + ' + 'splitContainer1.Panel1 + ' + Me.splitContainer1.Panel1.Controls.Add(Me.devicesListView) + ' + 'splitContainer1.Panel2 + ' + Me.splitContainer1.Panel2.Controls.Add(Me.propertyGrid1) + Me.splitContainer1.Size = New System.Drawing.Size(533, 448) + Me.splitContainer1.SplitterDistance = 301 + Me.splitContainer1.TabIndex = 10 + ' + 'devicesListView + ' + Me.devicesListView.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.columnHeader1, Me.columnHeader2}) + Me.devicesListView.ContextMenuStrip = Me.deviceContextMenu + Me.devicesListView.Dock = System.Windows.Forms.DockStyle.Fill + Me.devicesListView.LargeImageList = Me.imageList1 + Me.devicesListView.Location = New System.Drawing.Point(0, 0) + Me.devicesListView.Name = "devicesListView" + Me.devicesListView.Size = New System.Drawing.Size(301, 448) + Me.devicesListView.SmallImageList = Me.imageList1 + Me.devicesListView.TabIndex = 0 + Me.devicesListView.UseCompatibleStateImageBehavior = False + Me.devicesListView.View = System.Windows.Forms.View.Details + ' + 'columnHeader1 + ' + Me.columnHeader1.Text = "Device Name" + Me.columnHeader1.Width = 148 + ' + 'columnHeader2 + ' + Me.columnHeader2.Text = "Status" + Me.columnHeader2.Width = 641 + ' + 'deviceContextMenu + ' + Me.deviceContextMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.redetectMenuItem, Me.resetMenuItem}) + Me.deviceContextMenu.Name = "deviceContextMenu" + Me.deviceContextMenu.Size = New System.Drawing.Size(121, 48) + ' + 'redetectMenuItem + ' + Me.redetectMenuItem.Name = "redetectMenuItem" + Me.redetectMenuItem.Size = New System.Drawing.Size(120, 22) + Me.redetectMenuItem.Text = "Redetect" + ' + 'resetMenuItem + ' + Me.resetMenuItem.Name = "resetMenuItem" + Me.resetMenuItem.Size = New System.Drawing.Size(120, 22) + Me.resetMenuItem.Text = "Reset" + ' + 'imageList1 + ' + Me.imageList1.ImageStream = CType(resources.GetObject("imageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.imageList1.TransparentColor = System.Drawing.Color.Transparent + Me.imageList1.Images.SetKeyName(0, "Gps.png") + Me.imageList1.Images.SetKeyName(1, "GpsRemove.png") + Me.imageList1.Images.SetKeyName(2, "Configuration Tools.png") + ' + 'propertyGrid1 + ' + Me.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.propertyGrid1.Location = New System.Drawing.Point(0, 0) + Me.propertyGrid1.Name = "propertyGrid1" + Me.propertyGrid1.Size = New System.Drawing.Size(228, 448) + Me.propertyGrid1.TabIndex = 0 + ' + 'label5 + ' + Me.label5.AutoSize = True + Me.label5.Location = New System.Drawing.Point(20, 159) + Me.label5.Name = "label5" + Me.label5.Size = New System.Drawing.Size(46, 13) + Me.label5.TabIndex = 12 + Me.label5.Text = "Bearing:" + ' + 'devicesTab + ' + Me.devicesTab.Controls.Add(Me.splitContainer1) + Me.devicesTab.Location = New System.Drawing.Point(4, 22) + Me.devicesTab.Name = "devicesTab" + Me.devicesTab.Padding = New System.Windows.Forms.Padding(3) + Me.devicesTab.Size = New System.Drawing.Size(539, 454) + Me.devicesTab.TabIndex = 0 + Me.devicesTab.Text = "Devices" + Me.devicesTab.UseVisualStyleBackColor = True + ' + 'dataTab + ' + Me.dataTab.Controls.Add(Me.bearingTextBox) + Me.dataTab.Controls.Add(Me.label5) + Me.dataTab.Controls.Add(Me.altitudeTextBox) + Me.dataTab.Controls.Add(Me.speedTextBox) + Me.dataTab.Controls.Add(Me.label3) + Me.dataTab.Controls.Add(Me.label1) + Me.dataTab.Controls.Add(Me.dateTimeTextBox) + Me.dataTab.Controls.Add(Me.label4) + Me.dataTab.Controls.Add(Me.label2) + Me.dataTab.Controls.Add(Me.positionTextBox) + Me.dataTab.Controls.Add(Me.utcDateTimeTextBox) + Me.dataTab.Controls.Add(Me.label6) + Me.dataTab.Location = New System.Drawing.Point(4, 22) + Me.dataTab.Name = "dataTab" + Me.dataTab.Padding = New System.Windows.Forms.Padding(3) + Me.dataTab.Size = New System.Drawing.Size(539, 454) + Me.dataTab.TabIndex = 1 + Me.dataTab.Text = "Real-Time Data" + Me.dataTab.UseVisualStyleBackColor = True + ' + 'altitudeTextBox + ' + Me.altitudeTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.altitudeTextBox.Location = New System.Drawing.Point(131, 102) + Me.altitudeTextBox.Name = "altitudeTextBox" + Me.altitudeTextBox.Size = New System.Drawing.Size(407, 20) + Me.altitudeTextBox.TabIndex = 11 + ' + 'speedTextBox + ' + Me.speedTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.speedTextBox.Location = New System.Drawing.Point(131, 128) + Me.speedTextBox.Name = "speedTextBox" + Me.speedTextBox.Size = New System.Drawing.Size(407, 20) + Me.speedTextBox.TabIndex = 7 + ' + 'label3 + ' + Me.label3.AutoSize = True + Me.label3.Location = New System.Drawing.Point(20, 105) + Me.label3.Name = "label3" + Me.label3.Size = New System.Drawing.Size(45, 13) + Me.label3.TabIndex = 10 + Me.label3.Text = "Altitude:" + ' + 'label1 + ' + Me.label1.AutoSize = True + Me.label1.Location = New System.Drawing.Point(20, 19) + Me.label1.Name = "label1" + Me.label1.Size = New System.Drawing.Size(61, 13) + Me.label1.TabIndex = 0 + Me.label1.Text = "Date/Time:" + ' + 'dateTimeTextBox + ' + Me.dateTimeTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.dateTimeTextBox.Location = New System.Drawing.Point(131, 16) + Me.dateTimeTextBox.Name = "dateTimeTextBox" + Me.dateTimeTextBox.Size = New System.Drawing.Size(407, 20) + Me.dateTimeTextBox.TabIndex = 1 + ' + 'label4 + ' + Me.label4.AutoSize = True + Me.label4.Location = New System.Drawing.Point(20, 131) + Me.label4.Name = "label4" + Me.label4.Size = New System.Drawing.Size(41, 13) + Me.label4.TabIndex = 6 + Me.label4.Text = "Speed:" + ' + 'label2 + ' + Me.label2.AutoSize = True + Me.label2.Location = New System.Drawing.Point(20, 47) + Me.label2.Name = "label2" + Me.label2.Size = New System.Drawing.Size(86, 13) + Me.label2.TabIndex = 2 + Me.label2.Text = "UTC Date/Time:" + ' + 'positionTextBox + ' + Me.positionTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.positionTextBox.Location = New System.Drawing.Point(131, 73) + Me.positionTextBox.Name = "positionTextBox" + Me.positionTextBox.Size = New System.Drawing.Size(407, 20) + Me.positionTextBox.TabIndex = 5 + ' + 'utcDateTimeTextBox + ' + Me.utcDateTimeTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.utcDateTimeTextBox.Location = New System.Drawing.Point(131, 44) + Me.utcDateTimeTextBox.Name = "utcDateTimeTextBox" + Me.utcDateTimeTextBox.Size = New System.Drawing.Size(407, 20) + Me.utcDateTimeTextBox.TabIndex = 3 + ' + 'label6 + ' + Me.label6.AutoSize = True + Me.label6.Location = New System.Drawing.Point(20, 76) + Me.label6.Name = "label6" + Me.label6.Size = New System.Drawing.Size(47, 13) + Me.label6.TabIndex = 4 + Me.label6.Text = "Position:" + ' + 'rawDataTab + ' + Me.rawDataTab.Controls.Add(Me.sentenceListBox) + Me.rawDataTab.Location = New System.Drawing.Point(4, 22) + Me.rawDataTab.Name = "rawDataTab" + Me.rawDataTab.Size = New System.Drawing.Size(539, 454) + Me.rawDataTab.TabIndex = 2 + Me.rawDataTab.Text = "Raw Data" + Me.rawDataTab.UseVisualStyleBackColor = True + ' + 'sentenceListBox + ' + Me.sentenceListBox.Dock = System.Windows.Forms.DockStyle.Fill + Me.sentenceListBox.FormattingEnabled = True + Me.sentenceListBox.Location = New System.Drawing.Point(0, 0) + Me.sentenceListBox.Name = "sentenceListBox" + Me.sentenceListBox.Size = New System.Drawing.Size(539, 454) + Me.sentenceListBox.TabIndex = 4 + ' + 'satellitesTab + ' + Me.satellitesTab.Controls.Add(Me.satellitesListView) + Me.satellitesTab.Location = New System.Drawing.Point(4, 22) + Me.satellitesTab.Name = "satellitesTab" + Me.satellitesTab.Size = New System.Drawing.Size(539, 454) + Me.satellitesTab.TabIndex = 3 + Me.satellitesTab.Text = "Satelllites" + Me.satellitesTab.UseVisualStyleBackColor = True + ' + 'satellitesListView + ' + Me.satellitesListView.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.columnHeader3, Me.columnHeader4, Me.columnHeader5, Me.columnHeader6, Me.columnHeader7}) + Me.satellitesListView.Dock = System.Windows.Forms.DockStyle.Fill + Me.satellitesListView.Location = New System.Drawing.Point(0, 0) + Me.satellitesListView.Name = "satellitesListView" + Me.satellitesListView.Size = New System.Drawing.Size(539, 454) + Me.satellitesListView.TabIndex = 0 + Me.satellitesListView.UseCompatibleStateImageBehavior = False + Me.satellitesListView.View = System.Windows.Forms.View.Details + ' + 'columnHeader3 + ' + Me.columnHeader3.Text = "Satellite ID" + Me.columnHeader3.Width = 74 + ' + 'columnHeader4 + ' + Me.columnHeader4.Text = "Name" + Me.columnHeader4.Width = 257 + ' + 'columnHeader5 + ' + Me.columnHeader5.Text = "Azimuth" + ' + 'columnHeader6 + ' + Me.columnHeader6.Text = "Elevation" + ' + 'columnHeader7 + ' + Me.columnHeader7.Text = "Signal Strength" + Me.columnHeader7.Width = 95 + ' + 'bluetoothCheckBox + ' + Me.bluetoothCheckBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.bluetoothCheckBox.Checked = True + Me.bluetoothCheckBox.CheckState = System.Windows.Forms.CheckState.Checked + Me.bluetoothCheckBox.Location = New System.Drawing.Point(565, 384) + Me.bluetoothCheckBox.Name = "bluetoothCheckBox" + Me.bluetoothCheckBox.Size = New System.Drawing.Size(144, 17) + Me.bluetoothCheckBox.TabIndex = 9 + Me.bluetoothCheckBox.Text = "Allow Bluetooth" + Me.bluetoothCheckBox.UseVisualStyleBackColor = True + ' + 'nmeaInterpreter1 + ' + Me.nmeaInterpreter1.IsFilterEnabled = False + ' + 'serialCheckBox + ' + Me.serialCheckBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.serialCheckBox.Checked = True + Me.serialCheckBox.CheckState = System.Windows.Forms.CheckState.Checked + Me.serialCheckBox.Location = New System.Drawing.Point(565, 338) + Me.serialCheckBox.Name = "serialCheckBox" + Me.serialCheckBox.Size = New System.Drawing.Size(144, 17) + Me.serialCheckBox.TabIndex = 7 + Me.serialCheckBox.Text = "Allow Serial" + Me.serialCheckBox.UseVisualStyleBackColor = True + ' + 'tabControl1 + ' + Me.tabControl1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.tabControl1.Controls.Add(Me.devicesTab) + Me.tabControl1.Controls.Add(Me.dataTab) + Me.tabControl1.Controls.Add(Me.rawDataTab) + Me.tabControl1.Controls.Add(Me.satellitesTab) + Me.tabControl1.Location = New System.Drawing.Point(12, 6) + Me.tabControl1.Name = "tabControl1" + Me.tabControl1.SelectedIndex = 0 + Me.tabControl1.Size = New System.Drawing.Size(547, 480) + Me.tabControl1.TabIndex = 11 + ' + 'statusLabel + ' + Me.statusLabel.Name = "statusLabel" + Me.statusLabel.Size = New System.Drawing.Size(657, 17) + Me.statusLabel.Spring = True + Me.statusLabel.Text = "Idle." + Me.statusLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'resumeButton + ' + Me.resumeButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.resumeButton.Enabled = False + Me.resumeButton.Location = New System.Drawing.Point(573, 243) + Me.resumeButton.Name = "resumeButton" + Me.resumeButton.Size = New System.Drawing.Size(98, 23) + Me.resumeButton.TabIndex = 3 + Me.resumeButton.Text = "Resume" + Me.resumeButton.UseVisualStyleBackColor = True + ' + 'pauseButton + ' + Me.pauseButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.pauseButton.Enabled = False + Me.pauseButton.Location = New System.Drawing.Point(573, 213) + Me.pauseButton.Name = "pauseButton" + Me.pauseButton.Size = New System.Drawing.Size(98, 23) + Me.pauseButton.TabIndex = 2 + Me.pauseButton.Text = "Pause" + Me.pauseButton.UseVisualStyleBackColor = True + ' + 'stopButton + ' + Me.stopButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.stopButton.Enabled = False + Me.stopButton.Location = New System.Drawing.Point(573, 171) + Me.stopButton.Name = "stopButton" + Me.stopButton.Size = New System.Drawing.Size(98, 23) + Me.stopButton.TabIndex = 1 + Me.stopButton.Text = "Stop" + Me.stopButton.UseVisualStyleBackColor = True + ' + 'statusStrip1 + ' + Me.statusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.statusLabel, Me.positionLabel, Me.speedLabel, Me.bearingLabel, Me.altitudeLabel}) + Me.statusStrip1.Location = New System.Drawing.Point(0, 506) + Me.statusStrip1.Name = "statusStrip1" + Me.statusStrip1.ShowItemToolTips = True + Me.statusStrip1.Size = New System.Drawing.Size(688, 22) + Me.statusStrip1.TabIndex = 12 + Me.statusStrip1.Text = "statusStrip1" + ' + 'positionLabel + ' + Me.positionLabel.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.positionLabel.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter + Me.positionLabel.Name = "positionLabel" + Me.positionLabel.Size = New System.Drawing.Size(4, 17) + Me.positionLabel.ToolTipText = "Current Position" + ' + 'speedLabel + ' + Me.speedLabel.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.speedLabel.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter + Me.speedLabel.Name = "speedLabel" + Me.speedLabel.Size = New System.Drawing.Size(4, 17) + Me.speedLabel.ToolTipText = "Current Speed" + ' + 'bearingLabel + ' + Me.bearingLabel.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.bearingLabel.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter + Me.bearingLabel.Name = "bearingLabel" + Me.bearingLabel.Size = New System.Drawing.Size(4, 17) + Me.bearingLabel.ToolTipText = "Current Bearing" + ' + 'altitudeLabel + ' + Me.altitudeLabel.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ + Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.altitudeLabel.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter + Me.altitudeLabel.Name = "altitudeLabel" + Me.altitudeLabel.Size = New System.Drawing.Size(4, 17) + Me.altitudeLabel.ToolTipText = "Current Altitude" + ' + 'exhaustiveCheckBox + ' + Me.exhaustiveCheckBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.exhaustiveCheckBox.Location = New System.Drawing.Point(565, 361) + Me.exhaustiveCheckBox.Name = "exhaustiveCheckBox" + Me.exhaustiveCheckBox.Size = New System.Drawing.Size(144, 17) + Me.exhaustiveCheckBox.TabIndex = 8 + Me.exhaustiveCheckBox.Text = "Exhaustive Scan" + Me.exhaustiveCheckBox.UseVisualStyleBackColor = True + ' + 'cancelDetectButton + ' + Me.cancelDetectButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.cancelDetectButton.Enabled = False + Me.cancelDetectButton.Location = New System.Drawing.Point(573, 57) + Me.cancelDetectButton.Name = "cancelDetectButton" + Me.cancelDetectButton.Size = New System.Drawing.Size(98, 23) + Me.cancelDetectButton.TabIndex = 5 + Me.cancelDetectButton.Text = "Cancel" + Me.cancelDetectButton.UseVisualStyleBackColor = True + ' + 'detectButton + ' + Me.detectButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.detectButton.Location = New System.Drawing.Point(573, 28) + Me.detectButton.Name = "detectButton" + Me.detectButton.Size = New System.Drawing.Size(98, 23) + Me.detectButton.TabIndex = 4 + Me.detectButton.Text = "Detect" + Me.detectButton.UseVisualStyleBackColor = True + ' + 'undetectButton + ' + Me.undetectButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.undetectButton.Enabled = False + Me.undetectButton.Location = New System.Drawing.Point(573, 86) + Me.undetectButton.Name = "undetectButton" + Me.undetectButton.Size = New System.Drawing.Size(98, 23) + Me.undetectButton.TabIndex = 6 + Me.undetectButton.Text = "Undetect" + Me.undetectButton.UseVisualStyleBackColor = True + ' + 'firstDeviceCheckBox + ' + Me.firstDeviceCheckBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.firstDeviceCheckBox.Location = New System.Drawing.Point(565, 407) + Me.firstDeviceCheckBox.Name = "firstDeviceCheckBox" + Me.firstDeviceCheckBox.Size = New System.Drawing.Size(144, 17) + Me.firstDeviceCheckBox.TabIndex = 10 + Me.firstDeviceCheckBox.Text = "Stop after first device" + Me.firstDeviceCheckBox.UseVisualStyleBackColor = True + ' + 'clockSynchronizationCheckBox + ' + Me.clockSynchronizationCheckBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.clockSynchronizationCheckBox.Location = New System.Drawing.Point(565, 462) + Me.clockSynchronizationCheckBox.Name = "clockSynchronizationCheckBox" + Me.clockSynchronizationCheckBox.Size = New System.Drawing.Size(144, 17) + Me.clockSynchronizationCheckBox.TabIndex = 11 + Me.clockSynchronizationCheckBox.Text = "Sync system clock" + Me.clockSynchronizationCheckBox.UseVisualStyleBackColor = True + ' + 'MainForm + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(688, 528) + Me.Controls.Add(Me.clockSynchronizationCheckBox) + Me.Controls.Add(Me.undetectButton) + Me.Controls.Add(Me.firstDeviceCheckBox) + Me.Controls.Add(Me.startButton) + Me.Controls.Add(Me.tabControl1) + Me.Controls.Add(Me.bluetoothCheckBox) + Me.Controls.Add(Me.serialCheckBox) + Me.Controls.Add(Me.resumeButton) + Me.Controls.Add(Me.pauseButton) + Me.Controls.Add(Me.stopButton) + Me.Controls.Add(Me.statusStrip1) + Me.Controls.Add(Me.cancelDetectButton) + Me.Controls.Add(Me.exhaustiveCheckBox) + Me.Controls.Add(Me.detectButton) + Me.Name = "MainForm" + Me.Text = "GPS.NET 3.0 Diagnostics" + Me.splitContainer1.Panel1.ResumeLayout(False) + Me.splitContainer1.Panel2.ResumeLayout(False) + CType(Me.splitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.splitContainer1.ResumeLayout(False) + Me.deviceContextMenu.ResumeLayout(False) + Me.devicesTab.ResumeLayout(False) + Me.dataTab.ResumeLayout(False) + Me.dataTab.PerformLayout() + Me.rawDataTab.ResumeLayout(False) + Me.satellitesTab.ResumeLayout(False) + Me.tabControl1.ResumeLayout(False) + Me.statusStrip1.ResumeLayout(False) + Me.statusStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Private WithEvents speedometer1 As GeoFramework.Gps.Controls.Speedometer + Private WithEvents satelliteViewer1 As GeoFramework.Gps.Controls.SatelliteViewer + Private WithEvents altimeter1 As GeoFramework.Gps.Controls.Altimeter + Private WithEvents startButton As System.Windows.Forms.Button + Private WithEvents compass1 As GeoFramework.Gps.Controls.Compass + Private WithEvents bearingTextBox As System.Windows.Forms.TextBox + Private WithEvents splitContainer1 As System.Windows.Forms.SplitContainer + Private WithEvents devicesListView As System.Windows.Forms.ListView + Private WithEvents columnHeader1 As System.Windows.Forms.ColumnHeader + Private WithEvents columnHeader2 As System.Windows.Forms.ColumnHeader + Private WithEvents imageList1 As System.Windows.Forms.ImageList + Private WithEvents propertyGrid1 As System.Windows.Forms.PropertyGrid + Private WithEvents label5 As System.Windows.Forms.Label + Private WithEvents devicesTab As System.Windows.Forms.TabPage + Private WithEvents dataTab As System.Windows.Forms.TabPage + Private WithEvents altitudeTextBox As System.Windows.Forms.TextBox + Private WithEvents speedTextBox As System.Windows.Forms.TextBox + Private WithEvents label3 As System.Windows.Forms.Label + Private WithEvents label1 As System.Windows.Forms.Label + Private WithEvents dateTimeTextBox As System.Windows.Forms.TextBox + Private WithEvents label4 As System.Windows.Forms.Label + Private WithEvents label2 As System.Windows.Forms.Label + Private WithEvents positionTextBox As System.Windows.Forms.TextBox + Private WithEvents utcDateTimeTextBox As System.Windows.Forms.TextBox + Private WithEvents label6 As System.Windows.Forms.Label + Private WithEvents rawDataTab As System.Windows.Forms.TabPage + Private WithEvents sentenceListBox As System.Windows.Forms.ListBox + Private WithEvents satellitesTab As System.Windows.Forms.TabPage + Private WithEvents satellitesListView As System.Windows.Forms.ListView + Private WithEvents columnHeader3 As System.Windows.Forms.ColumnHeader + Private WithEvents columnHeader4 As System.Windows.Forms.ColumnHeader + Private WithEvents columnHeader5 As System.Windows.Forms.ColumnHeader + Private WithEvents columnHeader6 As System.Windows.Forms.ColumnHeader + Private WithEvents columnHeader7 As System.Windows.Forms.ColumnHeader + Private WithEvents bluetoothCheckBox As System.Windows.Forms.CheckBox + Private WithEvents nmeaInterpreter1 As GeoFramework.Gps.Nmea.NmeaInterpreter + Private WithEvents serialCheckBox As System.Windows.Forms.CheckBox + Private WithEvents tabControl1 As System.Windows.Forms.TabControl + Private WithEvents statusLabel As System.Windows.Forms.ToolStripStatusLabel + Private WithEvents resumeButton As System.Windows.Forms.Button + Private WithEvents pauseButton As System.Windows.Forms.Button + Private WithEvents stopButton As System.Windows.Forms.Button + Private WithEvents statusStrip1 As System.Windows.Forms.StatusStrip + Private WithEvents exhaustiveCheckBox As System.Windows.Forms.CheckBox + Private WithEvents cancelDetectButton As System.Windows.Forms.Button + Private WithEvents detectButton As System.Windows.Forms.Button + Private WithEvents undetectButton As System.Windows.Forms.Button + Private WithEvents deviceContextMenu As System.Windows.Forms.ContextMenuStrip + Friend WithEvents redetectMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents resetMenuItem As System.Windows.Forms.ToolStripMenuItem + Private WithEvents firstDeviceCheckBox As System.Windows.Forms.CheckBox + Private WithEvents positionLabel As System.Windows.Forms.ToolStripStatusLabel + Private WithEvents speedLabel As System.Windows.Forms.ToolStripStatusLabel + Private WithEvents bearingLabel As System.Windows.Forms.ToolStripStatusLabel + Private WithEvents altitudeLabel As System.Windows.Forms.ToolStripStatusLabel + Private WithEvents clockSynchronizationCheckBox As System.Windows.Forms.CheckBox + +End Class diff --git a/Examples/Desktop Framework/VB.NET/Backup/MainForm.resx b/Examples/Desktop Framework/VB.NET/Backup/MainForm.resx new file mode 100644 index 0000000..4689c2d --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/MainForm.resx @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + True + + + True + + + True + + + True + + + 384, 17 + + + 17, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ + cAAAAk1TRnQBSQFMAgEBAwEAARwBAAEcAQABMAEAATABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAHA + AwABMAMAAQEBAAEgBgABkEEAAQEDAAEBAwAEAQECAwMBBAMFAQcDCgQNARIDEwEaAxgBIQMdASkDIAEu + AyIBMgMjATMDIgExAyABLwMeASsDGwEmAxcBIAMSARgDDwEUAwoBDgMHAQkDAgEDAwABAQMAAQEDAAEB + ZwABAQMABAEBAgMBAQIDAwQEBAUBBwMGAQgDBgEIAwYBCAMGAQgDBQEHAzMBUgM6AWEDCgENAwMBBAMC + AQMDAAEBAwABAVAAAwYBCAMfAS0DMgFRAzgBXQMvAUkDCgENaAADAgEDAxYBHwMoAT0DLQFGAyYBOQMQ + ARUDAAEB7wABAQMAAQEDAAEBAwIBAwMEAQUDCAELAw8BFAMWAR8DIAEuAycBOwMtAUYDMgRRAaIDXwHj + A0EB/gMgAf8DJAH/AygB/wEuAi8B/wNZAfADXQHSA1ABmwM9AWgDOgFhAy8BSgMjATQDFwEgAwoBDQME + AQUDAQECAwABAQMAAQEDAAEBSwABAQMABAEEAgEDAwUEBwEKAw4BEwMSARkDGgEkAyABLgMmATgDKgFA + Ay0BRQMtAUYDLAFEA1cBtwE6AU8B5wH/ASEBNwHdAf8DWQG/AxkBIwMUARwDDwEUAwkBDAMDAQQDAAEB + AwABAQMAAQEDAAEBOAADDgETAy8BSQNWAbQD7AH/A7oB/wNfAeMDLgFHAwgBC2AAAwUBBwMkATYDNQFW + A2QB7ANNAfoDUgGnAzIBUQMWAR8DAAEB4wABAQMAAQEDAAEBAwIBAwMFAQcDDAEQAxcBIAMjATMDLQFG + AzUBVQNGAX8DHwH/AT8BPgE/Af8DtgH/A1EB/wMVAf8BmgKbAf8BJAIlAf8BJAIlAf8BJAIlAf8BJgEn + ASYB/wEoAikB/wItAS4B/wM0Af8DPgH/AU0CTgH/AlYBVwH/A2IB9gNKAYkDMwFSAxoBJAMJAQwDBAEF + AwEBAgMAAQEDAAEBAwABATcAAQEDAAEBAwABAQMDBAQBBgMLAQ8DFAEcAx4BKwMpAT8DMQFPAzgBXQM9 + AWkDXAHPAx4B/wMhAf8DIwH/AycB/wMqAf8BRAFWAeoB/wE0AUgB5QH/ARgBLwHcAf8BDQEiAc0B/wNO + AZYDRQF9AzoBYgMuAUcDHwEsAw0BEgMFAQcDAQECAwABAQMAAQEDAAEBCAADJQE3Aw0BERwAAwwBEAMy + AVED1AH/A/AB/wOsAf8D8QH/A7gB/wNeAdgDLQFFAwcBCVgAAwQBBQMlATcDaAH6A50B/wOOAf8DYwH/ + A7AB/wOfAf8DMQFPAwsBD98AAQEDAAQBAQIDBQEHAw0BEQMaASQDKAE9AzMBUwNMAZADKgH/A5IB/wEH + AgYB/wFdAVkBVwH/AcYBwQG+Af8ByQHEAcIB/wG5AbIBrwH/AbkBsgGvAf8DAwH/A4wB/wOBAf8CWwFa + Af8DRgH/AYsCjAH/A5IB/wNHAf8DMQH/ATsCPAH/AUoBSwFKAf8DVwH/AmIBYwH/A2AB/wNdAdcDMgFR + AxIBGAMHAQkDAgEDAwABAQMAAQEDAAEBKwABAQMAAQEDAAEBAwIBAwMHAQoDEQEXAx8ELAFEAzgBXANA + AW4DVwG3AyUB/wNdAf8DjwH/Ay8B/wMHAf8BZgJnAf8BJgInAf8BJgInAf8BJgInAf8BQwFWAeoB/wEt + AUIB4gH/ARMBKwHZAf8BBQEeAdMB/wIqASsB/wNPAf8DWgH/A00B+gNYAbwDQAFuAyMBMwMNARIDBQEH + AwEBAgMAAQEDAAEBAwABAQEFAQoBzQH/AwEBAhgAAwQBBQMsAUQD8gH/AwMB/wMDAf8D3wH/A7MB/wPs + Af8DhQH/A1oBvQMqAUADBQEHUAADAwEEAyMBNANxAfwD5gH/A0QB/wOUAf8DqAH/A6UB/wODAf8D3gH/ + AxoBJNsABAEBAgMEAQUDCQEMAxUBHQMmATkDNQFXA1sB8QM5Af8DLAH/AZ4BmgGYAf8BgQFlAWMB/wMD + Af8DAwH/ARIBEQESAf8DAwH/Ab4BuAG1Af8BuwG0AbIB/wFPAk0B/wHmAeAB3gH/AeIB3AHaAf8B3QHX + AdUB/wGfAZwBmgH/AdEBygHHAf8ByAHBAb4B/wGlAZ8BnAH/AwMB/wGBAYIBgQH/AToBOwE6Af8DRAH/ + AlEBUAH/A14B/wJlAWQB/wFaAlsB/wNIAYYDHwEsAwoBDQMEAQUDAQECAwABAQMAAQEDAAEBHwABAQMA + AQEDAgEDAwYBCAMRARcDIgExAzIBUQM/AWwDWgHFAzMB/wOUAf8CBgEFAf8BnAGXAZUB/wHMAcgBxgH/ + Ac4BygHHAf8BuQGyAa8B/wG5AbIBrwH/AwMB/wNHAf8DKQH/AyMB/wE+AVEB6AH/AScBPAHhAf8BDwEn + AdcB/wEDARoB0QH/ARoBGwEtAf8BPAI9Af8DTAH/A1sB/wNnAf8DZwH/A2EB7gM+AWoDGAEiAwkBDAMD + AQQDAAEBA1wB0QJIAXUB+AMAAQEYAAMVAR0D5QH/A/4B/wMeAf8DIwH/AwMB/wP2Af8DtwH/A+cB/wNB + Af8DUgGkAycBOwMEAQVIAAMCAQMDIQEwA18B8wP1Af8DxQH/A4MB/wOuAf8DvAH/A8cB/wOrAf8DyAH/ + AxgBIdcABAEBAgMFAQcDDgETAx0BKQMuAUcDJgH/ASsCLQH/AVUCVwH/AbsBtAGxAf8BwAG5AbcB/wMD + Af8BFwEWARcB/wIuAS8B/wFDAUIBQwH/A04B/wMDAf8BwAG6AbgB/wG+AbYBtAH/AVkCVwH/AeMB3gHc + Af8B4AHYAdcB/wFkAmIB/wHTAc0BygH/AeEC4AH/AcEBugG3Af8BtAGuAasB/wGnAaEBngH/AwMB/wOP + Af8DOgH/AzsB/wFHAkgB/wJWAVcB/wFcAVsBXAH/A1UB/wNMAZIDLQFFAw0BEQMFAQcDAgEDAwABAQMA + AQEDAAEBFwABAQMCAQMDBAEGAwwBEAMbASYDMAFMA0EBcgMlAf8BRAJFAf8DAwH/AcABuwG5Af8BQAE/ + AT0B/wMDAf8DAwH/AwoB/wMDAf8BvQG4AbUB/wG6AbQBsQH/AVECTwH/AecB4QHgAf8B5AHeAdwB/wHf + AdkB1wH/ATwBSwHnAf8BIQE3Ad8B/wEOASUB1gH/AQMBGQHRAf8BBQEHAboB/wGTApQB/wE7AjwB/wFG + AUcBRgH/A1MB/wNgAf8DgQH/AVoCWwH/A04BmQMnAToDDQERAxABFgEyAT8BmAH+AxMBGgMAAQEDAAEB + FAADUQGgA+oB/wPPAf8D+wH/AzQB/wMlAf8DAwH/A/QB/wO6Af8D4wH/AwUB/wNGAX4DJAE2AwMBBEAA + AwEBAgMfAS0DYQHkA/AB/wPQAf8DyAH/A4gB/wO8Af8DyQH/A9MB/wO/Af8DowH/AyEBMNMABAEBAgMF + AQcDEQEXAyIBMgM3AVsBLQEsAS0B/wEoAioB/wNYAf8CCAEHAf8BwAG5AbYB/wHEAb0BuwH/AUUBRgFF + Af8DTwH/A1MB/wJVAVQB/wFUAlMB/wMDAf8BwwG9AboB/wHAAbkBtwH/AVACTgH/AeEB2wHZAf8B3AHV + AdMB/wFaAVYBVQH/AdUB0gHRAf8BxgG+AbsB/wG5AbIBrwH/AawBpgGjAf8DAwH/AcABuQG2Af8BvwG5 + AbUB/wOOAf8DMQH/AzQB/wFDAUQBQwH/A0wB/wNQAf8DUQH/A04BlQMxAU0DDQESAwUBBwMBAQIDAAEB + AwABARMABAEBAgMHAQoDEwEaAyUBNwM4AV0DKQH/AS0CLgH/AVwCXQH/AbsBtQGzAf8BvwG6AbcB/wMD + Af8DFQH/AywB/wNAAf8DTgH/AwMB/wG/AboBuAH/AbwBtgG0Af8BWwJZAf8B5QHfAd4B/wHhAdoB2QH/ + AYsCiQH/AasBpwHPAf8BGgExAd0B/wEKASIB1AH/AQMBGAHQAf8BAwEXAc8B/wMDAf8DUAH/ATwCPQH/ + Az4B/wNKAf8DWQH/A14B/wFSAlMB/wNTAagDNQFXAQMBFAHVAf8BAwERAdUB/wMCAQMDAAEBAwABAQMA + AQEQAANdAdIDCQH/A6cB/wPUAf8DsAH/AzMB/wMiAf8DAwH/A+kB/wPAAf8D3AH/AwMB/wM9AWcDIgEx + AwIBAzgAAwIBAwMdASoDWwHIA+UB/wOJAf8DSQH/A+wB/wNMAf8DswH/A9AB/wPUAf8DoQH/A8MB/9cA + BAEBAgMLAQ8DIAEvAzwBZgEqAiwB/wOeAf8DAwH/AcgCxAH/AS4BKgEpAf8BwwG8AbkB/wHGAcEBvgH/ + A1QB/wNTAf8CUwFSAf8CVQFUAf8DjAH/AwMB/wHGAcABvQH/AcMBvAG6Af8DAwH/AeMB3gHdAf8B3QHW + AdUB/wHdAdgB1gH/AeIB3wHeAf8B4QHdAdwB/wHmAeQB4gH/AQgCBgH/AcMBvQG5Af8BwwG9AbkB/wHD + AbwBuQH/AVUBUgFQAf8DPAH/AykB/wM1Af8DQAH/AUQBQwFEAf8BJQEnASYB/wNDAf8DTAGSAzEBTQMN + AREDBAEFAwABAQMAAQEDAAEBCwABAQMCAQMDBwEJAxUBHQMqAUEDRAF5Ay4B/wEpAisB/wGJAooB/wMD + Af8BvwG5AbcB/wHDAb0BuwH/A0cB/wNRAf8DVQH/A1YB/wNVAf8DAwH/AcIBvQG7Af8BvwG5AbcB/wFS + AlEB/wHiAdsB2gH/Ad0B1gHUAf8BWQFVAVQB/wHVAdIB0QH/AUoBVgHpAf8BCQEhAdMB/wEDARcBzwH/ + AQMBFwHPAf8BAwEFAaUB/wGvAakBpwH/A1gB/wEyATMBMgH/AzUB/wNGAf8DTwH/A1QB/wNSAf8CWwFk + AfEBAwENAdwB/wMqAUEDBwEJAwIBAwMAAQEDAAEBAwABARAAAyEB/wMjAf8DrgH/A9cB/wNeAf8DNAH/ + Ax8B/wMDAf8D4wH/A8MB/wPWAf8DAwH/AzgBXQMeASsDAQECMwABAQMbASYDWgG9A9oB/wOSAf8DjwH/ + A48B/wPOAf8D2QH/A1QB/wONAf8DhgH/A4gB/wNUAabTAAEBAwABAQMCAQMDEgEYAzEBTQE/AkEB/wMD + Af8BygHHAcUB/wHRAc4BzQH/AdYB0wHSAf8BEgEOAQ0B/wHGAcABvQH/AckBwwHBAf8CVgFVAf8DlAH/ + AY0BjgGNAf8DYwH/Ak4BTQH/Ay8B/wHJAcIBwAH/AcYBwAG9Af8BxgHAAb0B/wGrAaUBogH/AboBtAGy + Af8BygHEAcEB/wHNAccBxAH/Ac8BygHIAf8B0QHNAcoB/wHOAckBxgH/AcgBwQG/Af8BxgG/Ab0B/wHG + AcABvQH/AcYBwAG9Af8BIAEhASAB/wMnAf8DJwH/ATcBOAE3Af8DOQH/AToCOwH/AjoBOwH/A1EBnwNI + AYMDJwE7AwcBCgMBAQIDAAEBAwABAQsAAQEDAgEDAw4BEwMoAT0DSAGEASwCLgH/A7MB/wMDAf8B1AHR + AdAB/wEvASsBKgH/AcIBvAG6Af8BxQHAAb4B/wNWAf8DVQH/A1UB/wNXAf8DkQH/AwMB/wHFAb8BvQH/ + AcIBvAG6Af8DAwH/AegB4gHhAf8B4QHbAdkB/wHkAeAB3gH/AekB5wHlAf8B8gLwAf8BGwEwAdgB/wED + ARwBzwH/AQMBFgHPAf8BAwEXAdAB/wEtASwBoQH/AY8BiwGJAf8BQQJCAf8DKgH/AzYB/wNCAf8DRQH/ + ARoBGwEcAf8BBAEeAeAB/wEDARoB0AH/AzgBXgMRARcDBAEGAwABAQMAAQEDAAEBEAADFAEbAwMB/wNK + Af8DtQH/A9kB/wMxAf8DMwH/AxwB/wMDAf8D0wH/A8YB/wPVAf8DAwH/AzgBXAMaASUDAAEBKwABAQMZ + ASMDUgGjA8UB/wOYAf8DjgH/A7EB/wO3Af8DWwH/A9EB/wP1Af8D4AH/A+UB/wNgAevXAAEBAwABAQMD + AQQDEAEWA4cB/wE2AjQB/wG/AbwBuwH/AYsCiQH/A4cB/wHZAdUB1AH/AwMB/wHJAcMBwAH/AcwBxgHE + Af8BVwFYAVcB/wFIAkkB/wMwAf8DDQH/AwMB/wHZAdYB1QH/AdYB0QHQAf8B2wHXAdUB/wHhAd8B3QH/ + AekB5gHlAf8B8AHvAe4B/wH3AvYB/wH8AfsB+gH/Af0B/AH6Af8B/AH7AfoB/wL7AfoB/wHfAdwB2gH/ + AcsBxQHCAf8ByQHDAcEB/wHJAcMBwAH/AwMB/wIsASsB/wEhAiIB/wMtAf8DMwH/AzQB/wM1Af8DXgHs + A0kBhwM5AV8DFgEfAwMBBAMAAQEDAAEBBwABAQMAAQEDAwEEAxYBHgNEAXkBVQJXAf8DAwH/AcsByAHH + Af8B0gHPAc4B/wHXAdQB0wH/AREBDQEMAf8BxQG/Ab0B/wHIAcMBwQH/A2IB/wOTAf8DigH/A2EB/wNM + Af8BLwEwAS8B/wHIAcIBwAH/AcUBvwG9Af8BxgHAAb0B/wG0Aa4BrAH/AcABuwG4Af8BywHFAcMB/wHO + AckBxwH/AdEBzQHLAf8B0AHMAc4B/wESASgB0gH/AQMBFgHPAf8BAwEUAc8B/wEDARcB0QH/AYEBZgGB + Af8BHwIeAf8DKQH/AygB/wM5Af8CKwE1Af8BDQEmAd8B/wEDARIB0AH/A1cBuANMAZMDLgFHAwoBDQMC + AQMDAAEBAwABARQAAz4BagMDAf8DigH/A7sB/wPfAf8DMwH/AzIB/wMYAf8DAwH/A8AB/wPHAf8DxgH/ + AwMB/wM2AVkDFwEgJwABAQMXASADSAGGA7sB/wOhAf8DjQH/A7IB/wO8Af8DnQH/A4sB/wOJAf8DggX/ + A10Byt8AAQEDAgEDAVsCXAH/AYgBhQGDAf8BwwHAAb4B/wOHAf8DlAH/AdkB1gHVAf8B3wLaAf8BGgEW + ARUB/wHNAccBxAH/Ac0BxwHFAf8BngGcAZsB/wG4AbYBtQH/AegB5gHlAf8B8AHuAe0B/wH5AvgB/wH7 + AvkB/wH5AvgB/wH6AfkB+AH/AvkB9wH/AvkB9wH/AfkC+AH/AvkB9wH/AfoB+AH3Af8B+gH5AfgB/wL5 + AfgB/wH6AfkB9wH/AfoB+QH4Af8B1AHOAcwB/wHNAccBxAH/Ac0BxwHEAf8BIgEhASAB/wMxAf8DIwH/ + AycB/wIzATIB/wEyATEBMgH/ASMBJAElAf8BLAErASwB/wNHAYADOQFfAyMBNAMKAQ0DAgEDAwABAQcA + AQEDAAEBAwMBBAMUARwBkAKRAf8BgwGBAWcB/wG4AbYBtQH/AVYCVQH/A4cB/wHbAdcB1gH/AwMB/wHJ + AcMBwQH/AcwBxgHEAf8DTQH/A0EB/wMqAf8DAwH/AwMB/wHaAdYB1QH/AdgB1AHSAf8B3gHaAdkB/wHl + AeIB4QH/AewB6wHqAf8B9AHzAfIB/wH6AvkB/wH8AvoB/wH8AfsB+gH/AfwC+gH/AeMB4gH2Af8BBAEc + AdAB/wEDAQ4BzAH/AQMBFwHRAf8BDQEfAccB/wMDAf8DLgH/AyMB/wIiASUB/wEQASgB4gH/AQMBEgHT + Af8BFQEbAbsB/wNMAfUDTgGWAz4BagMbASYDBAEGAwABAQMAAQEYAANXAbcDAwH/A58B/wPBAf8D6QH/ + AzQB/wMvAf8DFQH/AwMB/wOvAf8DxgH/A8EB/wMDAf8DNQFXAxQBGx8AAQEDFgEeAz4BagOtAf8DqgH/ + A4sB/wOzAf8DvAH/A5sB/wOIAf8DmQH/A1cB/wPlAf8DQgF24wABAQMkATYBMwIyAf8BvwG7AboB/wG8 + AboBuQH/A7MB/wHWAdMB0gH/Aa0CqwH/AwMB/wHVAdABzgH/Ad4B2gHYAf8B6wHpAecB/wH7AfoB+QH/ + AfcB9gH1Af8B9wH2AfUB/wL3AfYB/wH3AfYB9QH/AfcB9gH1Af8B+AH3AfUB/wH4AfcB9gH/AfgB9gH1 + Af8C9wH1Af8B+AH3AfUB/wH4AfYB9QH/AfcC9gH/AfgB9wH1Af8B9gHzAfAB/wH4AfcB9gH/AfgB9wH2 + Af8B3AHYAdYB/wHRAcoByAH/AdEBywHIAf8BjgKJAf8CNgE1Af8DJgH/AiYBJQH/ATUCNgH/AjMBNAH/ + ARoBGwEcAf8DLAH/A0ABcQMzAVMDJAE1AxEBFwMDAQQDAAEBCwABAQMCAQMDgQH/AaABnQGbAf8BxQHC + AcAB/wOHAf8DmgH/AdkB1QHUAf8B4QHdAdwB/wEpASUBIwH/AcwBxwHEAf8BzQHIAcUB/wHhAd4B3QH/ + AeUB4wHiAf8B6AHnAeUB/wHzAfIB8QH/AfwC+wH/AfoC+AH/AfoC+AH/AfoC+AH/AfoC+AH/AfoB+QH4 + Af8B+gH5AfgB/wH6AfkB+AH/AfoB+QH4Af8B+wH5AfgB/wH7AfkB+AH/AfsB+QH4Af8B+wH5AfgB/wED + AQ8BzgH/AQMBEAHLAf8BCQEhAdMB/wELARcBsAH/AyMB/wMZAf8BEAEpAeQB/wEDAREB2AH/AQMBCwHL + Af8BJQImAf8DLQH/A0sBjgM9AWgDJgE5AwsBDwMCAQMDAAEBHAADXgH8AwMB/wOYAf8DyAH/A/QB/wM0 + Af8DLgH/AxEB/wMDAf8DogH/A8YB/wOxAf8DAwH/AzMBUgMKAQ0YAAMUARsDNwFaA5wB/wOyAf8DigH/ + A7QB/wO8Af8DlwH/A4oB/wOaAf8DWQH/A+0B/wMzAVLoAAGHAogB/wHUAc4BzAH/AacCpQH/A/AB/wMD + Af8BLAEpAScB/wHfAdsB2QH/AewB6QHoAf8B+QL3Af8B9QH0AfIB/wH1AfQB8gH/AfUC8wH/AfYB9AHz + Af8B9QH0AfMB/wH1AfQB8wH/AfUB9AHzAf8B9QH0AfMB/wH1AfQB8wH/AfYB9AHyAf8B9gH0AfMB/wH2 + AfQB8wH/Ad4BxwG8Af8BvwGGAVEB/wHZAbABmwH/AeEBugGnAf8B4wG8AakB/wHoAd0B1wH/AvUB9AH/ + AeEB3QHcAf8B1AHOAcwB/wHUAc4BywH/AbQBrwGtAf8CPQE8Af8DJQH/AyQB/wM5Af8DOAH/AicBJgH/ + AS8BMAEvAf8DOAFcAysBQgMdASkDEgEYAwUBBw8AAQEDOwFlATACLgH/AcABvQG8Af8BwgHAAb4B/wG9 + ArwB/wHiAd8B3gH/AWICXwH/AQsBBwEGAf8B1gHSAdAB/wHgAdwB2wH/Ae4B7AHrAf8B+gH5AfgB/wH4 + AfYB9QH/AfgB9gH1Af8B+AH2AfUB/wH4AfYB9QH/AfgB9gH1Af8B+AL2Af8B+AL2Af8B+AL2Af8B+AH3 + AfYB/wH5AfcB9gH/AfkB9wH2Af8B+QH3AfYB/wH5AfcB9gH/AeMBzgHFAf8B+AH2AfUB/wH5AfcB9gH/ + AdIBzgHXAf8BAwETAcgB/wEDAQ8BxwH/AQQBGwHQAf8BAwEIAaMB/wEDAR0B2wH/AQMBDwHTAf8CAwHI + Af8DMgH/AR0CHgH/Ay0B/wNFAX0DNwFaAyUBNwMSARkDBAEFAwABASAAA18B+wMDAf8DnAH/A88B/wP8 + Af8DNQH/AywB/wMNAf8DLAH/A6EB/wPFAf8DtwH/AxgB/wMgAS4UAAMSARgDNwFbA5oB/wO4Af8DhgH/ + A7QB/wO8Af8DmAH/A40B/wOZAf8DYgH/A/AB/wMcASfsAAEZAhcB/wHYAdMB0AH/AdgB0gHQAf8B2QHT + AdEB/wHnAeQB4wH/AfgC9gH/AfIC8AH/AfIB8QHvAf8B8gHxAfAB/wHyAfEB7wH/AfIB8QHvAf8B8gHx + Ae8B/wHyAfEB8AH/AfMB8QHwAf8B8gHxAfAB/wHyAfEB8AH/AfEB7gHsAf8ByAGeAYsB/wHFAY0BWAH/ + AdEBmwGBAf8B2AGjAYcB/wHaAaQBiQH/AdsBqAGOAf8B4wG9AakB/wHjAbwBqQH/AeIBvAGoAf8B3QHI + Ab4B/wHzAfIB8AH/AecB5AHiAf8B2AHTAdAB/wHYAdIB0AH/AdIBzgHLAf8DRQH/AyUB/wMiAf8DQAH/ + AzEB/wEzAjQB/wM1Af8DLgFIAyABLwMUARwDDQERAwUBBwMAAQEMAAGGAocB/wHUAc8BzAH/AWIBYAFf + Af8B8QLwAf8DAwH/AVYBUgFQAf8B4QHdAdsB/wHvAe0B7AH/AfcB9gH1Af8B9QHzAfIB/wH1AfMB8gH/ + AfUB8wHyAf8B9gLzAf8B9gLzAf8B9gH0AfMB/wH2AfQB8wH/AfYB9AHzAf8B9gH0AfMB/wH2AfQB8wH/ + AfYB9AHzAf8B9gH0AfMB/wHLAaIBjwH/AcIBiwFXAf8B3AG0AaAB/wHhAbsBqAH/AeMBvQGpAf8B6AHb + AdYB/wH2AfQB8wH/AeEB3gHcAf8B1AHPAcwB/wEQASYBzQH/AQMBBAHBAf8BAwEGAcIB/wIDAcEB/wID + AcAB/wEvATABZwH/AzgB/wEpAioB/wMxAf8DPAFmAy0BRgMeASsDEgEYAwYBCCgAA1QB/wMFAf8DnAH/ + A9YB/wPxAf8DNAH/AyoB/wMKAf8DXAH/A5YB/wPBAf8DpgH/AywBQwMBAQIMAAMQARYDMQFOA5QB/wPB + Af8DhAH/A7QB/wO7Af8DlwH/A5EB/wOWAf8DgQH/A/EB/wMUARzsAANKAYkB3AHWAdQB/wHcAdYB1AH/ + Ad4B2QHXAf8B8QLvAf8B7wHuAewB/wHvAe4B7AH/AfAC7QH/Ae8B7gHtAf8B8AHuAe0B/wHwAe4B7AH/ + Ae8B7gHsAf8B7wHuAewB/wHrAeQB4AH/AbwBgwFOAf8BzAGVAWAB/wHWAaABhgH/AdoBpQGJAf8B2gGl + AYoB/wHZAaQBiQH/AdgBowGIAf8B1wGiAYcB/wHXAaEBhgH/AdwBrgGWAf8B4QG6AacB/wHgAbsBpwH/ + AeABuwGmAf8BxgGgAY8B/wHxAe8B7gH/AesB6AHnAf8B2wHWAdQB/wHbAdYB1QH/AdwB1gHVAf8DTAH/ + AyQB/wMeAf8DRwH/AwMB/wMDAf8DAwH/A04BmAMUARwDDAEQAwUBBwMDAQQDAAEBDAABIgIhAf8B1wHS + AdAB/wHXAdIB0AH/AdsB1gHVAf8B6QHmAeQB/wH6AvkB/wHzAfEB8AH/AfMB8QHwAf8B8wHxAfAB/wHz + AfEB8AH/AfMB8QHwAf8B8wHxAfAB/wHzAfEB8AH/AfMB8QHwAf8B8wHxAfAB/wHzAfEB8AH/AfEB7QHr + Af8BuQGBAU4B/wHKAZIBXwH/AdQBnwGDAf8B2QGkAYgB/wHZAaQBiQH/AdoBpwGNAf8B4gG9AakB/wHj + AbwBqQH/AeIBvAGoAf8B3AHHAb0B/wH0AfIB8QH/AeYB4wHiAf8BpAGhAZ8B/wEDAQQBvwH/AgMBwwH/ + AgMBwQH/AgMBvwH/AgMBoQH/AzEB/wMsAf8DNgH/AzYB/wMxAU8DIgExAxQBHAMNAREDBQEHAwABASgA + A4wB/wMcAf8DngH/A9oB/wPZAf8DMwH/AycB/wMGAf8DxQH/A54B/wOmAf8DVQG1AxEBFwgAAw4BEwMw + AUwDkQH/A8YB/wOCAf8DtgH/A7wB/wOVAf8DlQH/A5QB/wOPAf8D9gH/9AADVgH0Ad8B2gHYAf8B3wHa + AdgB/wHoAeQB4wH/AUUBPwE9Af8B7AHqAekB/wHsAesB6QH/AewB6wHpAf8B6wHpAegB/wHUAbcBqgH/ + AcQBjAFXAf8B0QGaAWUB/wHYAaMBiAH/AdsBpgGMAf8B2wGmAYsB/wHaAaQBiQH/AdkBpAGIAf8B2AGj + AYgB/wHXAaIBhwH/AdcBoQGFAf8B1gGhAYUB/wHVAaABhAH/AdMBnwGDAf8B3wG6AaYB/wHgAboBpgH/ + Ad4BugGmAf8B3gG5AaUB/wGyAWIBSAH/Ae4B7AHrAf8B7gHsAesB/wHfAdoB2AH/Ad8B2gHYAf8B3wHa + AdgB/wNVAf8DJAH/Ax4B/wNMAf8DAwH/AwMB/wMDAf8DVAH3AwoBDQMEAQUDAgEDAwABAQwAA00BkQHb + AdYB1AH/AdsB1gHUAf8B3gHZAdgB/wHzAfEB8AH/AfAB7gHtAf8B8AHuAe0B/wHwAe4B7QH/AfAB7gHt + Af8B8AHuAe0B/wHwAe4B7QH/AfAB7gHtAf8B8AHuAe0B/wHaAcIBtwH/AcEBiAFVAf8BzgGXAWUB/wHX + AaIBhwH/AdoBpQGJAf8B2gGlAYkB/wHZAaQBiAH/AdgBowGIAf8B1wGiAYcB/wHXAaEBhgH/AdwBrgGX + Af8B4QG6AaYB/wHhAbsBpwH/AeABugGmAf8BxAGeAYwB/wHaAdgB1wH/AQkBDQG7Af8BAwENAeMB/wED + AQcB2AH/AQMBBAHOAf8CAwHFAf8CAwHDAf8CAwHBAf8CAwGPAf8DAwH/AwMB/wMDAf8DUQGiAxYBHgMM + ARADBQEHAwMBBAMAAQEsAANPAf8DSQH/A6EB/wPeAf8DlAH/AzAB/wMkAf8DAwH/A98B/wPoAf8DuQH/ + AzEBTgMLAQ8DDQERAzABTAOJAf8DyAH/A2YB/wO2Af8DvAH/A5YB/wOXAf8DkAH/A5oB/wPlAf/4AAFA + AkIB/wHjAd4B3AH/AeQB3gHcAf8B8QHvAe4B/wFMAUYBQwH/AUgBQgFAAf8BtQGFAVYB/wHfAbQBoAH/ + AeUBwAGtAf8B5wHBAa4B/wHmAcEBrgH/AeEBtAGdAf8B2gGkAYkB/wHYAaMBiAH/AdgBogGHAf8B1wGh + AYYB/wHWAaEBhQH/AdUBoAGEAf8B1AGfAYMB/wHTAZ4BggH/AdMBnAGBAf8B0QGcAWUB/wHQAZsBZQH/ + Ad8BuwGnAf8B3gG5AaYB/wHdAbkBpgH/Ad0BuAGlAf8BtAFkAUkB/wHqAegB5wH/AfMB8QHwAf8B4wHf + AdwB/wHkAd4B3QH/AeQB3gHdAf8DXQH/AyIB/wMdAf8BUQJSAf8DAwH/Aw4B/wMdAf8DNAH/AwEBAhgA + A1QB9wHfAdoB2AH/Ad8B2gHYAf8B6AHkAeMB/wFIAUIBPwH/Ae0B6gHpAf8B7QHqAekB/wHtAeoB6QH/ + AesB5wHlAf8BxwGdAYkB/wHIAZIBXwH/AdMBnAGCAf8B2gGkAYkB/wHbAaYBiwH/AdoBpQGKAf8B2QGk + AYkB/wHZAaMBiAH/AdgBogGHAf8B1wGhAYYB/wHWAaEBhQH/AdUBoAGEAf8B1AGeAYMB/wHTAZ4BggH/ + AeABuwGnAf8B3wG6AaYB/wHeAbkBpQH/AdcBsgGgAf8BUAE8AYYB/wEtAUAB4AH/AR4BNQHoAf8BCQEj + AeUB/wEDARAB5AH/AQMBCAHZAf8BEgEfAdUB/wEoASkBVQH/AQMBCQHKAf8BAwEEAc4B/wIDAa8B/wMD + Af8DBgH/A08B+wMJAQwDAwEEAwEBAgMAAQEwAAMCAQMDGwH/A5IB/wOjAf8D4QH/A1YB/wMwAf8DIAH/ + AywB/wPIAf8D5gH/A10B8AM2AVkDPQFoA4YB/wPLAf8DYgH/A7UB/wO7Af8DlQH/A5sB/wOMAf8DqQH/ + A9MB/wMAAQH4AANIAf8B5wHiAeAB/wHmAeIB4AH/AfUB8wHyAf8BVQFQAU0B/wFQAUoBSAH/AZ4BWwFH + Af8B5gHAAa0B/wHmAcEBrgH/AeUBwAGuAf8B5QHAAa0B/wHjAb0BqgH/AdcBogGFAf8B1gGhAYUB/wHW + AaABhAH/AdQBnwGDAf8B0wGdAYIB/wHSAZ0BgQH/AdEBmwFlAf8B0AGaAWQB/wHPAZkBYwH/Ac4BmAFi + Af8BzQGXAWEB/wHeAboBqAH/AdwBugGnAf8B3AG5AaYB/wHbAbkBpQH/AboBhwFUAf8B6AHlAeMB/wH1 + AfQB8wH/AecB4gHgAf8B5wLhAf8B5wHiAeAB/wJiAWEB/wEgAh8B/wMcAf8BVAJTAf8DAwH/Ax0B/wEl + AiYB/wM3Af8cAAFDAkUB/wHjAd4B3AH/AeMB3gHcAf8B8QHvAe4B/wFPAUkBRgH/AUoBRQFCAf8BsAFn + AVEB/wHjAb0BqwH/AecBwQGuAf8B5wHCAa4B/wHmAcEBrgH/AeEBtQGfAf8B2QGkAYkB/wHZAaMBiAH/ + AdgBogGHAf8B1wGhAYYB/wHWAaABhQH/AdUBoAGEAf8B1AGeAYMB/wHTAZ0BggH/AdIBnAGBAf8B0QGb + AWcB/wHQAZoBZgH/Ad8BugGnAf8B3gG5AaYB/wGqAY4BgQH/ASYBMAG7Af8BYAGHAe4B/wFSAWMB7AH/ + ATcBSwHqAf8BHAE0AecB/wEFASAB5gH/ASMBLwHgAf8CYAFfAf8DJAH/Ax8B/wE2AUkB5wH/AQMBGQHl + Af8BDQEkAdwB/wIMASsB/wMzAf8DAQECRAADAwH/A8IB/wOgAf8D5AH/A5wB/wMqAf8DtwH/A+8B/wPU + Af8D0QH/A38B/gOEAf8DzQH/A14B/wO2Af8DuwH/A5YB/wOfAf8DhwH/A7UB/wO5Af//AAEAAUYCRwH/ + AeoB5QHjAf8B6gHlAeQB/wH2AfQB8wH/AV0BWAFVAf8BWQFUAVEB/wGMAVQBRgH/AeQBvwGsAf8B5AG/ + AawB/wHjAcABrQH/AeMBvwGsAf8B4wG/AawB/wHUAZ4BggH/AdMBnQGCAf8B0gGcAYEB/wHRAZsBZQH/ + AdABmgFkAf8BzwGZAWMB/wHOAZgBYgH/Ac0BlwFhAf8BzAGWAV8B/wHKAZQBXgH/AckBkwFdAf8B3AG6 + AagB/wHcAboBqAH/AdsBuQGnAf8B2gG5AacB/wHAAZIBYAH/AeQB4QHgAf8B+QH3AfYB/wHqAeYB5AH/ + AeoB5QHkAf8B6gHlAeQB/wKBAWUB/wMfAf8BGwIaAf8BUwJUAf8DAwH/Ax8B/wMeAf8DOgH/HAABSQJK + Af8B5gHiAeAB/wHmAeIB4AH/AfQB8wHyAf8BWAFSAVAB/wFSAUwBSgH/AZ0BXQFJAf8B5gHBAa0B/wHl + AcEBrgH/AeUBwAGuAf8B5QHAAa0B/wHjAb4BqwH/AdcBoQGGAf8B1gGgAYUB/wHVAaABhAH/AdQBngGD + Af8B0wGdAYIB/wHSAZwBgQH/AdEBmwFnAf8B0AGaAWYB/wHPAZkBZQH/Ac4BmAFkAf8BzQGXAWIB/wHB + AaIBkgH/AVABVAHKAf8BhQGTAewB/wGKAZgB7wH/AYEBkAHuAf8BYQGJAe4B/wFOAWAB7QH/ATMBSAHp + Af8CSgHVAf8B5gHiAeAB/wNlAf8CIgEhAf8DHgH/A1UB/wEQAREBoAH/AS4BRAHpAf8BPwFTAesB/wEJ + AQsBtgH/AxoBJUQAAy8BSQMDAf8D6gH/A6AB/wPiAf8DxAH/A4kB/wNiAf8D2gH/A8MB/wPVAf8DoQH/ + AwMB/wO1Af8DuwH/A5cB/wOfAf8DgwH/A8AB/wOvAf//AAUAA0QB/wHtAekB6AH/Ae0B6QHoAf8B9wL0 + Af8BZAFfAVwB/wFhAVwBWQH/AWUBVwFQAf8B4gG9AakB/wHhAb0BqgH/AeEBvQGqAf8B4QG9AasB/wHg + Ab0BqgH/AdABmwFlAf8B0AGaAWQB/wHOAZkBYgH/Ac0BmAFhAf8BzAGWAWAB/wHLAZUBXwH/AcoBkwFe + Af8ByQGTAVwB/wHHAZIBWwH/AcYBkAFZAf8BxQGPAVgB/wHcAbsBqgH/AdsBuwGqAf8B2wG6AakB/wHa + AboBqQH/AcoBogGOAf8B4AHeAdwB/wH7AvkB/wHtAeoB6AH/Ae4B6QHnAf8B7QHpAecB/wOFAf8DHQH/ + AxkB/wFSAlEB/wMDAf8DFAH/AQ8BEAEPAf8DOwH/HAADSQH/AeoB5gHkAf8B6gHmAeQB/wH2AfQB8wH/ + AWABWwFYAf8BWwFWAVMB/wGKAVYBSQH/AeQBvwGsAf8B4wG/AawB/wHjAb8BrAH/AeMBvwGsAf8B4gG/ + AawB/wHTAZ4BggH/AdIBnQGBAf8B0QGcAYEB/wHQAZoBZgH/Ac8BmQFlAf8BzgGYAWQB/wHNAZcBYwH/ + AcwBlgFiAf8BywGVAWAB/wHJAZQBXwH/AcgBkgFeAf8BTgFfAeMB/wFOAV8B5gH/AV8BhgHpAf8BhwGU + Ae0B/wGDAZIB7gH/AWQBjAHuAf8BTwFhAe0B/wHXAdQB4AH/AeoB5gHkAf8B6gHmAeQB/wOBAf8DIQH/ + AxwB/wNWAf8DAwH/AiABIQH/AYYBjwHtAf8BZAGLAe8B/wEmASwBsQH/AzEBTQMEAQZAAAMNAREDfAH7 + A/kB/wPmAf8D4gH/A8IB/wOGAf8DiQH/AxwB/wP3Af8DzgH/A70B/wO7Af8DmQH/A6IB/wNjAf8DzAH/ + A6QB//8ACQABOgI7Af8B8ALrAf8B8AHrAeoB/wH3AfUB9AH/AYQBZQFiAf8BggFjAWAB/wFlAWABXgH/ + AeABuwGnAf8B4AG6AacB/wHfAboBpwH/Ad8BuwGnAf8B3wG7AakB/wHNAZcBYQH/AcwBlgFgAf8BywGV + AV8B/wHJAZMBXQH/AcgBkgFcAf8BxwGRAVsB/wHGAZABWQH/AcUBjwFYAf8BxAGNAVcB/wHDAYwBVQH/ + AcEBiwFUAf8B2wG8AasB/wHaAbsBqgH/AdoBuwGqAf8B2QG7AaoB/wHUAbQBpAH/AdwB2wHZAf8C/AH7 + Af8B8AHtAewB/wHwAewB6wH/AfAB7AHqAf8BiQKIAf8DGwH/AxgB/wNOAf8DAwH/AwUB/wMDAf8DOgH/ + HAABRgJHAf8B7QHpAecB/wHtAekB5wH/AfcB9QH0Af8BZwFiAV8B/wFkAV8BXAH/AWcBWQFTAf8B4gG9 + AakB/wHhAb0BqgH/AeEBvQGqAf8B4QG9AasB/wHgAb0BqgH/AdABmgFmAf8BzwGZAWUB/wHOAZgBZAH/ + Ac0BlwFjAf8BzAGWAWIB/wHLAZUBYAH/AckBkwFfAf8ByAGSAV4B/wHHAZEBXQH/AcYBkAFbAf8BxQGP + AVoB/wHNAdIB+AH/AUcBWQHjAf8BTQFeAeYB/wFfAYYB6gH/AWABiAHrAf8BhwGOAewB/wH7AfoB+QH/ + Ae0B6gHoAf8B7QHpAecB/wHtAekB5wH/AoYBhQH/Ax4B/wMbAf8DVAH/AwMB/wMSAf8DDQH/Az0B/wGe + AagB8wH/AWEBhwHtAf8CJQGNAf4DIwEzSAAD/gH/A+EB/wPHAf8DpwH/AwMB/wMFAf8DAwH/A7QB/wO6 + Af8DmgH/A6QB/wNdAf8D0gH/A58B//8ADQADVgH0AfMB7wHtAf8B8wHuAe0B/wH4AfYB9QH/AYoBhQGC + Af8BigGFAYIB/wGIAYMBgQH/AdsBtQGhAf8B3AG2AaMB/wHcAbcBpAH/AdwBuAGlAf8B3AG4AaUB/wHO + AZsBgQH/AcgBkgFbAf8BxwGRAVsB/wHGAZABWQH/AcUBjwFYAf8BxAGNAVcB/wHCAYwBVQH/AcEBiwFU + Af8BwAGJAVIB/wG+AYgBUQH/AcwBowGNAf8B2QG6AakB/wHZAbsBqwH/AdkBuwGrAf8B2QG6AaoB/wHW + AbkBqAH/AdoB1wHVAf8B9gL1Af8B9AHwAe4B/wHzAe4B7QH/AfMB7wHtAf8BjAKKAf8DGQH/AxgB/wNJ + Af8CTgFNAf8DVQH/AoEBggH/AzgB/xwAATwCPQH/AfAB7AHqAf8B8AHsAeoB/wH3AvUB/wGEAWcBZAH/ + AYMBZgFkAf8BgQFjAWAB/wHgAboBpgH/Ad8BugGnAf8B3wG6AacB/wHfAboBpwH/Ad4BuwGoAf8BzQGX + AWMB/wHMAZYBYgH/AcsBlQFgAf8ByQGTAV8B/wHIAZIBXgH/AccBkQFcAf8BxgGQAVsB/wHFAY4BWgH/ + AcQBjQFYAf8BwgGMAVcB/wHBAYsBVgH/AdsBuwGrAf8BzQG/Ac8B/wGxAbgB9AH/Aa8BsQHsAf8B0QG1 + AasB/wHeAdoB2QH/AfwC+wH/AfAB7QHrAf8B8AHsAeoB/wHwAewB6gH/AYoBiQGIAf8DHQH/AxoB/wNR + Af8DAwH/AwQB/wMEAf8DPAH/CAADXAHPAUQBUQHnAf8CWgFdAdNIAAPiAf8DwwH/A/0B/wMgAf8DIgH/ + A6MB/wOlAf8DnQH/A6MB/wNWAf8D1wH/A2IB9v8AEQADVQGyAfUB8QHwAf8B9gHxAfAB/wH5AfcB9QH/ + AZIBjQGKAf8BkwGOAYwB/wGPAYoBiAH/AdcBsAGbAf8B2QGzAZ8B/wHZAbMBnwH/AdkBswGfAf8B2AGz + AaAB/wHTAaoBlQH/AcQBjgFXAf8BwwGNAVYB/wHCAYsBVAH/AcEBigFTAf8BvwGJAVIB/wG+AYcBUQH/ + Ab0BhgFPAf8BvAGFAU0B/wG6AYMBTAH/AdYBtwGkAf8B1gG2AaUB/wHWAbcBpgH/AdYBtwGmAf8B1gG3 + AacB/wHUAbYBpgH/AdYB0gHQAf8B7wHtAewB/wH3AfIB8QH/AfUB8QHwAf8B9gHyAfAB/wGOAo0B/wMY + Af8DFgH/AUMCRAH/AkYBRQH/A0cB/wNRAf8BNQI0Af8cAANbAfEB8wHvAe0B/wHzAe8B7QH/AfgC9QH/ + AYsBhgGDAf8BiwGGAYMB/wGIAYMBgQH/AdoBtAGgAf8B3AG2AaIB/wHcAbcBowH/AdwBtwGkAf8B2wG3 + AaQB/wHOAZwBgQH/AcgBkQFdAf8BxgGQAVwB/wHFAY8BWgH/AcQBjgFZAf8BwwGMAVgB/wHBAYsBVgH/ + AcABigFVAf8BvwGJAVMB/wG+AYcBUgH/Ac0BpQGOAf8B2QG6AakB/wHZAboBqgH/AdgBugGpAf8B1wG5 + AaoB/wHWAbgBqAH/AdkB1gHUAf8B9gH1AfQB/wH0AfAB7gH/AfMB7wHtAf8B8wHvAe0B/wOMAf8DGgH/ + AhsBGgH/A0sB/wNPAf8DVQH/A2UB/wM6Af9XAAEBAw4BEwMwAUwD+wH/A/EB/wP4Af8D5AH/A9oB/wOQ + Af8DnAH/A1IB/wPVAf8DXwHo/wAVAANHAYAB9QHwAe8B/wH3AfMB8gH/AfoC9gH/AZsBlwGUAf8BmwGW + AZQB/wGYAZMBkQH/AdIBqQGVAf8B1gGvAZoB/wHVAa8BmgH/AdUBrgGaAf8B1QGvAZoB/wHUAa8BmwH/ + AcABigFTAf8BvwGJAVEB/wG9AYgBUAH/AbwBhgFPAf8BuwGFAU0B/wG6AYMBTAH/AbkBggFLAf8BtwGB + AUoB/wG2AYEBSAH/AdIBsQGgAf8B0wGyAaAB/wHTAbIBoAH/AdIBsgGhAf8B0gGzAaIB/wHRAbIBoQH/ + AdIBzwHMAf8B5QHiAeEB/wH4AfQB8wH/AfcB8wHyAf8B9wHzAfIB/wGQAY8BjgH/AxkB/wMXAf8BPQE+ + AT0B/wFAAj8B/wFBAkIB/wFIAUkBSAH/AzIB/xwAA1QBrAH1AfEB8AH/AfUB8QHwAf8B+QH2AfUB/wGT + AY4BjAH/AZMBjgGMAf8BkAGLAYkB/wHXAa8BmwH/AdkBswGfAf8B2QGzAZ4B/wHYAbMBnwH/AdgBswGg + Af8B1AGsAZYB/wHEAY4BWQH/AcMBjAFYAf8BwQGLAVYB/wHAAYoBVQH/Ab8BiAFTAf8BvQGHAVIB/wG8 + AYYBUAH/AbsBhAFPAf8BugGDAU0B/wHWAbYBpAH/AdUBtQGkAf8B1gG3AaYB/wHVAbcBpgH/AdUBtwGm + Af8B1AG2AaYB/wHWAdIB0QH/Ae4B7AHrAf8B9gHyAfEB/wH1AfEB8AH/AfUB8QHwAf8BjgKNAf8DGgH/ + AxgB/wNGAf8DSAH/A0kB/wNTAf8DNwH/TAADAQECAwoBDQMgAS4DMgFRA6cB/wMDAf8D7wH/A7EB/wO7 + Af8D7QH/A+4B/wNcAf8DzwH/A2oB+QMCAQP/ABkAAZcClAH/AfkB9QH0Af8B+wL3Af8BoQGcAZkB/wGi + AZ0BmwH/AZ4BmgGXAf8BzQGjAY4B/wHSAakBkwH/AdEBqQGTAf8B0QGpAZMB/wHQAagBkwH/AdABqAGT + Af8BvQGGAU8B/wG7AYQBTQH/AboBhAFMAf8BuQGBAUoB/wG3AYEBSQH/AbYBZQFIAf8BtAFkAUYB/wG0 + AWIBRQH/AbIBYQFDAf8BzgGqAZcB/wHNAasBmAH/Ac0BrAGZAf8BzQGsAZkB/wHNAawBmQH/Ac0BrQGa + Af8ByQHAAboB/wHcAdkB2AH/AfoB9gH1Af8B+QH1AfQB/wH5AfUB8wH/AZICkQH/AxgB/wEWAhUB/wM3 + Af8DOQH/AzsB/wJAAT8B/wMvAf8cAANEAXkB7gHrAekB/wH3AfMB8gH/AfkC9gH/AZsBlwGUAf8BnAGX + AZQB/wGZAZQBkgH/AdEBqQGUAf8B1gGuAZkB/wHVAa4BmgH/AdUBrgGaAf8B1QGuAZkB/wHUAa4BmgH/ + AcABigFVAf8BvwGIAVMB/wG9AYcBUgH/AbwBhgFQAf8BuwGEAU8B/wG6AYMBTQH/AbgBggFMAf8BtwGB + AUsB/wG2AWcBSQH/AdIBsAGeAf8B0gGxAZ8B/wHSAbEBnwH/AdEBsgGgAf8B0gGyAaEB/wHRAbIBoQH/ + AdIBzwHNAf8B5AHiAeAB/wH4AfQB8wH/AfcB8wHyAf8B9wHzAfIB/wOPAf8DGwH/AxkB/wNAAf8DQgH/ + A0QB/wNLAf8DNQH/KAADBwEJAxsBJgMfAS0DHwEtAx8BLQMdASoDHwEsAx8BLQMgAS8DKAE9AzEBTwNS + AaEDsgH/A9YB/wOiAf8DnwH/A7gB/wOiAf8DoAH/A/MB/wPyAf8DQgH/AzgBXgMfASwDAQEC/wAVAAE/ + AT0BPAH/AfoB9gH1Af8B+wH4AfcB/wGjAZ4BnAH/AaUBoQGeAf8BogGeAZwB/wHDAZkBgwH/Ac0BpAGN + Af8BzAGiAYwB/wHMAaMBjQH/AcwBowGNAf8BywGiAYwB/wG4AYEBSgH/AbcBgQFIAf8BtQFlAUcB/wG0 + AWMBRgH/AbMBYgFEAf8BsQFgAUIB/wGwAV8BQQH/Aa4BXQFAAf8BrgFcAT4B/wHIAaMBjwH/AcgBpAGP + Af8ByAGkAZAB/wHHAaQBkAH/AccBpQGRAf8BxwGlAZIB/wGiAYMBWgH/AdQB0QHQAf8B+wH3AfYB/wH6 + AfYB9QH/AfoB9gH1Af8BjwGOAY0B/wMZAf8DFgH/ATICMQH/AzMB/wM0Af8BNwI2Af8DKgH/IAABjwGM + AYsB/wH5AfUB9AH/AfoC9wH/AaEBnQGaAf8BowGeAZwB/wGfAZoBmAH/AcwBogGNAf8B0QGoAZMB/wHQ + AagBkgH/AdABqAGSAf8BzwGnAZIB/wHPAagBkwH/AbsBhQFPAf8BugGEAU4B/wG5AYIBTAH/AbcBgQFL + Af8BtgFnAUoB/wG1AWYBSAH/AbQBZQFHAf8BsgFjAUUB/wGxAWIBRAH/Ac0BqQGWAf8BzAGqAZcB/wHM + AasBmAH/AcwBqwGZAf8BzAGqAZgB/wHMAawBmQH/AcYBvAG3Af8B3AHZAdgB/wH6AfYB9QH/AfkB9QH0 + Af8B+QH1AfQB/wGSAZEBkAH/AxsB/wMYAf8DOQH/AzsB/wM9Af8DQQH/AzEB/yQAAwQBBQMpAT8DQAFu + A0ABbwNAAW8DQAFvAzYBWQNAAW4DQAFvA0kBhwNhAeEDkwH/A74B/wPJAf8D1QH/A7IB/wOHAf8DnwH/ + A5AB/wNkAf8D2AH/A/EB/wP3Af8DKgH/AzgBXAMbASYDAAEB/wARAAE1AjIB/wH6AfYB9QH/AfsB9wH2 + Af8BwQG+AbwB/wGjAZ8BnAH/AaIBnQGbAf8BtQGFAVEB/wHJAZ0BhgH/AcgBnQGFAf8ByAGdAYUB/wHG + AZsBhAH/AcYBmwGEAf8BtAFjAUUB/wGzAWEBRAH/AbEBYAFCAf8BsAFfAUAB/wGvAV0BPwH/Aa4BXAE9 + Af8BrAFbATwB/wGrAVoBOwH/AaoBWAE6Af8BwwGcAYcB/wHCAZwBhwH/AcIBmwGGAf8BwQGbAYcB/wHB + AZwBhwH/AcIBnQGIAf8BhgE1ARoB/wHMAckBxgH/AfsC9wH/AfoB9gH1Af8B+gH2AfUB/wGOAY0BjAH/ + AxgB/wEXAhYB/wMrAf8BLQEuAS0B/wEvAi4B/wEvATABLwH/AysB/CAAAUABPgE9Af8B+gH2AfUB/wH7 + AfgB9wH/AaMBngGcAf8BpQGhAZ4B/wGjAZ4BnAH/AcIBlgGBAf8BzQGiAYwB/wHNAaIBjAH/AcwBowGM + Af8BywGiAYwB/wHLAaEBiwH/AbcBgQFLAf8BtgFnAUoB/wG1AWYBSAH/AbMBZQFHAf8BsgFjAUUB/wGx + AWIBRAH/AbABYAFCAf8BrgFfAUEB/wGtAV4BPwH/AccBogGOAf8BxwGiAY4B/wHHAaMBjwH/AccBowGQ + Af8BxwGkAZAB/wHHAaQBkQH/AaEBZwFYAf8B1QHRAdAB/wH7AfcB9gH/AfoB9gH1Af8B+gH2AfUB/wGO + Ao0B/wMbAf8DGAH/AzQB/wM2Af8DNwH/AzgB/wMtAf8nAAEBA4QB/wPFAf8DwAH/A70B/wO3Af8CrgGt + Af8BXQFaAVUB/wGFAYIBZgH/AZkBmAGWAf8CrQGsAf8D6QH/A78B/wPKAf8D1QH/A9wB/wOcAf8DTwH/ + A6QB/wPjAf8DPgFqAzcBWwPuAf8D/AH/Ay4B/wM3AVoDFgEfAwABAf8ADQADTwH/AfoB9gH1Af8B+gH3 + AfYB/wH+Av0B/wGfAZsBmAH/AZ8BmgGYAf8BpwFXATwB/wHEAZcBgQH/AcMBlgFlAf8BwwGWAWQB/wHC + AZUBYwH/AcEBlQFjAf8BtwGGAVAB/wGvAV0BPwH/Aa0BXAE+Af8BrAFbATwB/wGqAVkBOwH/AakBWAE5 + Af8BqAFWATgB/wGnAVUBNwH/AacBVwE5Af8BvAGTAWIB/wG8AZIBYQH/AbsBkgFiAf8BuwGSAWIB/wG6 + AZMBYwH/AboBkwFiAf8BhwE2ARsB/wHDAcABvQH/AfsB+AH3Af8B+gH2AfUB/wH6AfYB9QH/ApEBkAH/ + AhkBGAH/ARcCFgH/AScCJgH/AykB/wMmAf8CKwEqAf8DWgHFIAABNgIzAf8B+gH2AfUB/wH7AfcB9gH/ + AcQBwQG/Af8BowGfAZwB/wGiAZ0BmwH/AbQBhAFRAf8ByAGdAYYB/wHIAZ0BhQH/AccBnAGFAf8BxgGb + AYQB/wHGAZsBhAH/AbMBZQFHAf8BsgFjAUUB/wGxAWIBRAH/AbABYAFCAf8BrgFfAUEB/wGtAV4BPwH/ + AawBXAE+Af8BqgFbAT0B/wGpAVoBOwH/AcIBmwGGAf8BwgGbAYYB/wHBAZsBhgH/AcEBmgGFAf8BwQGb + AYYB/wHBAZwBhwH/AYUBNgEcAf8BywHIAcYB/wH7AvcB/wH6AfYB9QH/AfoB9gH1Af8BjgKMAf8DGgH/ + ARkCGAH/Ay4B/wMwAf8DMQH/AzIB/wNPAfgoAAOFAf0DywH/A8MB/wO8Af8DvQH/A70B/wFcAVgBVAH/ + AYMBgQFkAf8DKgH/A2EB/wMDAf8D2wH/A8oB/wPUAf8D3gH/A+UB/wPoAf8D6QH/AzABSwgAA1QBpgPg + Af8D9gH/A04B/wM1AVcDEwEa/wANAAE8Aj0B/wH6AfYB9QH/AfoB9gH1Af8B/gL9Af8BmgGUAZIB/wGZ + AZQBkgH/AZ0BSwEwAf8BvwGQAV4B/wG9AZABXQH/Ab0BjwFcAf8BvAGPAVwB/wG8AY8BWwH/AbsBjgFb + Af8BqgFZAToB/wGoAVcBOAH/AacBVgE3Af8BpgFVATYB/wGlAVMBNAH/AaQBUgEzAf8BogFRATIB/wGu + AWMBSAH/AbYBjAFZAf8BtQGLAVkB/wG1AYoBWQH/AbQBigFZAf8BtAGKAVgB/wGzAYoBWQH/AYkBOAEb + Af8BwAG7AbgB/wH7AvgB/wH6AfYB9QH/AfoB9gH1Af8BkwGSAZEB/wEZAhgB/wMWAf8DJAH/ASUBJgEl + Af8DHwH/AyYB/wNMAY8gAAFTAlIB/wH6AfYB9QH/AfoB9wH2Af8B/gL9Af8BnwGaAZgB/wGfAZoBmAH/ + AaYBWAE8Af8BwwGWAWcB/wHDAZYBZgH/AcIBlQFlAf8BwAGUAWQB/wHAAZUBZQH/AbcBhwFTAf8BrQFe + AUAB/wGsAV0BPgH/AasBWwE9Af8BqgFaATwB/wGoAVkBOgH/AacBVwE5Af8BpgFWATcB/wGnAVkBPAH/ + AbsBkQFiAf8BuwGRAWMB/wG6AZEBYwH/AboBkgFjAf8BuQGSAWMB/wG6AZIBYwH/AYcBOQEcAf8BwwG/ + Ab0B/wH7AfgB9wH/AfoB9gH1Af8B+gH2AfUB/wGSApEB/wMaAf8DGAH/AykB/wMrAf8DKAH/AywB/wNb + AcMsAAPIAf8DxgH/A8UB/wO5Af8DugH/ASMBIQEfAf8DkgH/A4sB/wOzAf8DgQH/AwMB/wPkAf8D1AH/ + A90B/wPjAf8D5wH/Ax4BKxAAA2EB7gPXAf8D8gH/A10B/wMzAVMDEAEV/wAJAAFLAUwBTQH+AfoB9gH1 + Af8B+gH2AfUB/wH9AvwB/wGTAY0BiwH/AZIBjQGKAf8BlAFDASgB/wG6AYoBWAH/AbkBigFWAf8BuAGJ + AVYB/wG2AYkBVQH/AbYBhwFTAf8BtQGHAVMB/wGmAVUBNgH/AaUBUwE0Af8BowFSATMB/wGiAVABMQH/ + AaEBTwEwAf8BoAFOAS8B/wGfAU0BLQH/Aa4BgQFMAf8BsAGDAVAB/wGwAYMBUQH/Aa8BgQFPAf8BrgGC + AU4B/wGtAYEBTgH/Aa0BgQFOAf8BiQE4ARoB/wG9AbcBtQH/AfsB+QH4Af8B+gH2AfUB/wH6AfYB9QH/ + AZkClgH/ARoCGQH/AxYB/wMnAf8DJgH/AxwB/wMkAf8DMAFMIAABPAI9Af8B+gH2AfUB/wH6AfYB9QH/ + Af4C/QH/AZkBlAGSAf8BmQGTAZEB/wGcAU0BMQH/Ab4BkAFfAf8BvQGQAV8B/wG9AY4BXgH/AbsBjgFd + Af8BuwGOAVwB/wG6AY0BXAH/AakBWgE8Af8BqAFZAToB/wGnAVcBOQH/AaYBVgE3Af8BpAFVATYB/wGj + AVMBNAH/AaIBUgEzAf8BrgFmAUsB/wG2AYsBWwH/AbQBiQFZAf8BtAGJAVoB/wG0AYoBWQH/AbMBiAFZ + Af8BswGJAVoB/wGIATkBHAH/AcABuwG5Af8B+wL4Af8B+gH2AfUB/wH6AfYB9QH/AZMCkgH/ARsCGgH/ + AxgB/wMmAf8DKAH/AyEB/wMoAf8DSgGKLAADjwH/A8cB/wPBAf8DvQH/A7sB/wMDAf8DOgH/Ax8B/wOp + Af8DggH/AwMB/wMDAf8D0gH/A9oB/wPiAf8DAQECGAADhwH+A8kB/wPtAf8DhwH/AzEBTwMMARD/AAUA + A0oBjAGpAaYBpQH/AfoB9QH0Af8B/AH7AfoB/wGMAYcBhQH/AYwBhwGEAf8BiwFDAS0B/wG2AYUBUQH/ + AbQBhAFQAf8BswGEAU8B/wGyAYIBTgH/AbEBggFNAf8BsAGBAUwB/wGiAVABMQH/AaEBTwEwAf8BoAFO + AS8B/wGfAUwBLQH/AZ0BSwEsAf8BnAFKASoB/wGbAUkBKQH/AasBYwFIAf8BqgFhAUgB/wGqAWEBRwH/ + AagBYAFGAf8BqAFgAUYB/wGnAWABRgH/AacBXwFFAf8BjQE9ASAB/wG5AbQBsgH/AfsB+QH4Af8B+QL1 + Af8B+QH2AfQB/wKbAZoB/wMZAf8DFgH/AykB/wMnAf8DFgH/AyUB/wMEAQUgAAFMAk0B/gH4AfQB8wH/ + AfoB9gH1Af8B/QL8Af8BkgGNAYoB/wGSAYwBigH/AZMBRAEpAf8BuQGKAVgB/wG5AYoBVwH/AbgBiAFX + Af8BtgGIAVYB/wG2AYcBVQH/AbUBhgFVAf8BpgFWATcB/wGkAVUBNgH/AaMBUwE0Af8BogFSATMB/wGg + AVEBMQH/AZ8BTwEwAf8BngFOAS8B/wGuAWcBTQH/AbABgwFRAf8BrwGCAVEB/wGuAYEBUAH/Aa0BgQFP + Af8BrAGBAU8B/wGsAYEBTwH/AYkBOQEcAf8BvAG4AbYB/wH7AfkB+AH/AfoB9gH1Af8B+gH2AfUB/wGZ + AZgBlwH/ARwCGwH/AxgB/wMpAf8DKAH/Ax4B/wMmAf8DLgFIMAADywH/A8UB/wO+Af8DvwH/AQsBCgEI + Af8DggH/A7EB/wOBAf8DSgH/AycB/wMDBf8D2AH/A9MB/yAAA4MB+wPDAf8D5gH/A2QB/AMwAUsDCQEM + /wAFAAFSAk8B/wH3AfQB8wH/AfsB+AH3Af8BiAGDAYEB/wGIAYIBZQH/AYQBUQFFAf8BsAGBAUsB/wGv + AWQBSgH/Aa4BYwFIAf8BrgFiAUcB/wGsAWEBRgH/AasBYQFGAf8BngFMAS0B/wGdAUoBKwH/AZwBSQEq + Af8BmgFIASgB/wGZAUcBKAH/AZgBRgEmAf8BlwFEASUB/wGmAVwBQgH/AaUBWwFAAf8BpAFbAUAB/wGk + AVoBPwH/AaMBWQE+Af8BogFZAT4B/wGhAVgBPgH/AZUBSQEsAf8BtgGxAa4B/wH6AvgB/wH3AfQB8wH/ + AfcC8wH/AZ4BnQGcAf8BGgIZAf8DIAH/ASwCKwH/AysB/wMOAf8DJwH/AwABASAAA0QBeQGjAaABnwH/ + AfkB9gH0Af8B/AH6AfkB/wGMAYcBhAH/AYsBhgGDAf8BigFFATAB/wG1AYQBUgH/AbMBhAFRAf8BsgGC + AVAB/wGxAYEBTwH/AbABgQFOAf8BrwFnAU0B/wGhAVEBMgH/AaABUAExAf8BngFPAS8B/wGdAU0BLgH/ + AZwBTAEtAf8BmwFLASsB/wGaAUoBKgH/AaoBZAFKAf8BqQFjAUgB/wGpAWIBSAH/AagBYQFHAf8BpwFh + AUcB/wGnAWEBRgH/AaYBYAFGAf8BjQFAASMB/wG5AbQBsgH/AfsB+QH4Af8B+QH2AfQB/wH5AfYB9AH/ + AZsBmgGZAf8DGwH/AxkB/wMsAf8DKgH/AxgB/wMnAf8DAgEDMAADbgH3A8cB/wPFAf8DvQH/AbICsQH/ + AwMB/wO8Af8DvQH/A4MB/wMgAf8DAwH/A88B/wPUAf8DJgE5JAADyAH/A8IB/wPgAf8DXAHqAy0BRQMH + AQn/AAEAAVICUQH/AfYB8wHxAf8B+AH1AfQB/wGTAY4BiwH/AYYBgQFjAf8BhQFkAWEB/wGsAWABRQH/ + AaoBXwFDAf8BqgFeAUEB/wGpAVwBQQH/AacBXAFAAf8BpgFbAT4B/wGdAUwBLQH/AZkBRwEnAf8BmAFG + ASYB/wGXAUQBJQH/AZUBQwEkAf8BlQFDASIB/wGTAUEBIQH/AaEBVgE6Af8BoAFWAToB/wGfAVQBOQH/ + AZ4BVAE4Af8BngFSATcB/wGeAVMBOAH/AZsBUQE3Af8BjgFDASkB/wGzAa0BqwH/AfkB+AH3Af8B9QLy + Af8B9gHyAfEB/wOgAf8CGwEaAf8DIgH/AjgBNwH/AjIBMwH/AwgB/wMqAf8oAAFQAk0B/wH4AfQB8wH/ + AfsB+AH3Af8BiAGDAYEB/wGIAYIBgQH/AYQBVAFJAf8BsAFnAUwB/wGvAWYBSwH/Aa0BZAFJAf8BrAFj + AUgB/wGsAWMBSAH/AasBYwFHAf8BnQFNAS4B/wGcAUwBLQH/AZsBSwErAf8BmgFKASoB/wGYAUgBKQH/ + AZcBRwEnAf8BlgFGASYB/wGlAV0BQgH/AaQBXAFBAf8BpAFcAUEB/wGjAVoBPwH/AaIBWgE/Af8BoQFZ + AT4B/wGhAVkBPgH/AZQBSgEuAf8BtgGxAa4B/wH6AvgB/wH4AfQB8wH/AfgB9AHzAf8DngH/ARwCGwH/ + AiMBIgH/Ay0B/wMtAf8DDwH/AykB/wMAAQEsAAMKAQ4DLAFEA8wB/wPBAf8DvwH/A78B/wMDAf8DIgH/ + A6EB/wMcAf8DAwH/A74B/wPGAf8DzAH/LAADygH/A8MB/wPZAf8DXAHJAykBPwMEAQb8AANBAf8B9ALw + Af8B9QLxAf8B2gHYAdcB/wGFAWUBYgH/AYUBZQFiAf8BpwFbAT4B/wGnAVsBPwH/AaUBWQE9Af8BpAFY + ATsB/wGjAVcBOgH/AaIBVgE6Af8BnwFRATQB/wGVAUMBIwH/AZQBQgEiAf8BlAFBASEB/wGSAUABIAH/ + AZEBPwEfAf8BkAE9AR0B/wGaAU4BMQH/AZEBRQEnAf8BhAE0ARYB/wFhAS4BFAH/AYEBRQE0Af8BlwGP + AYwB/wGWAZEBjgH/AZUBjwGMAf8BlQGQAY0B/wH3AfUB9AH/AfQB8QHvAf8B9AHwAe8B/wGkAaMBogH/ + ARoCGQH/A0YB/wNKAf8BRAJDAf8DJQH/AzQB/ygAAVQBUwFSAf8B9gHzAfEB/wH4AfUB9AH/AZcBkgGP + Af8BhgGBAWYB/wGFAWYBZAH/AasBYgFGAf8BqgFhAUUB/wGpAV8BQwH/AagBXgFCAf8BpwFeAUEB/wGm + AV0BQAH/AZwBTgEvAf8BmAFIASkB/wGXAUcBJwH/AZYBRgEmAf8BlQFFASUB/wGUAUQBJAH/AZMBQwEj + Af8BoAFXATsB/wGfAVcBOwH/AZ8BVQE6Af8BngFVATkB/wGdAVQBOQH/AZwBUwE4Af8BlwFOATMB/wGH + ATwBIQH/AbMBrgGrAf8B+gH4AfcB/wH2AfMB8QH/AfYB8wHxAf8BoQKgAf8DHAH/AyUB/wM6Af8DNAH/ + AwoB/wMsAf8sAAMJAQwDLQFGA6sB/wO/Af8DxQH/A8EB/wO9Af8BtAKzAf8DAwH/ASABHgEdAf8BlAGS + AY8B/wGpAagBpwH/AbgBtwG2Af8DwQH/A2QB5zAAA88B/wPKAf8D1QH/A04BmQMmATkDAwEE+AABLAIt + Af8B3QHaAdkB/wHyAe8B7gH/AfwC+wH/AYUBZQFjAf8BhQFlAWMB/wGiAVYBOQH/AaIBVgE5Af8BoQFU + ATgB/wGgAVQBNwH/AZ8BUgE2Af8BnwFSATUB/wGdAVEBNAH/AY8BPQEdAf8BigE5ARoB/wGEATIBFQH/ + AWEBKwEPAf8BiwFUAUUB/wGaAY8BiQH/AZ8BmgGWAf8BngGZAZYB/wGcAZcBkwH/AZoBlQGSAf8BmQGU + AZEB/wGYAZIBjwH/AZgBkwGQAf8B4wHhAeAB/wH5AfcB9gH/AfIB7wHuAf8B8QHuAe0B/wHxAe4B7QH/ + AagCpgH/AhwBGwH/A4EB/wNfAf8DVwH/A1gB/wFCAkEB/ygAAUIBQwFCAf8B9AHwAe8B/wH1AfEB8AH/ + AdsB2QHYAf8BhQFnAWUB/wGFAWcBZQH/AaYBXAFAAf8BpgFcAUAB/wGlAVsBPgH/AaQBWQE9Af8BowFY + ATwB/wGhAVcBOwH/AZ4BUgE1Af8BlAFEASQB/wGTAUMBIwH/AZIBQgEiAf8BkQFBASEB/wGQAUABHwH/ + AY8BPgEeAf8BmAFOATIB/wGLAT8BIQH/AWcBMQEUAf8BYgEzARsB/wGNAWEBVwH/AZcBkQGNAf8BlgGR + AY8B/wGVAY8BjQH/AZUBjwGNAf8B9wH1AfQB/wH0AfAB7wH/AfQB8AHvAf8BpAGjAaIB/wMcAf8DSgH/ + A0sB/wNFAf8DKQH/AzUB/ygAAwQBBgMoAT0DpwH/A5sB/wOjAf8DyQH/A8IB/wPBAf8DuAH/A7kB/wFi + AV4BWwH/AYkBhgGDAf8BngGcAZsB/wGvAq4B/wO5Af8DDwEUNAAD1AH/A9kB/wPMAf8DPQFnAyMBMwMC + AQP0AANOAZgBiQGGAYUB/wHvAewB6wH/AfoC+AH/AYQBZAFhAf8BhQFlAWIB/wGeAVABNAH/AZwBUAEy + Af8BmAFLAS8B/wGIATcBGwH/AWMBLQESAf8BZQFEATMB/wGXAZEBjgH/AZoBlAGRAf8BnQGXAZQB/wGe + AZkBlgH/AaABmgGXAf8BoAGaAZcB/wGfAZoBlwH/AZ8BmQGWAf8BnAGXAZQB/wHZAdcB1gH/Af0C/AH/ + AfsB+gH5Af8B9wH2AfUB/wHzAfIB8QH/AfAB7gHtAf8B7wLrAf8B7wLrAf8B7wHsAesB/wHvAewB6gH/ + AaECnwH/AyAB/wOfAf8DkAH/AocBiAH/A54B/wNOAf8oAAEuAi8B/wHaAdcB1gH/AfEB7wHuAf8B/QL8 + Af8BhQGBAWUB/wGFAYEBZQH/AaIBVwE7Af8BogFXATsB/wGgAVYBOgH/AZ8BVAE3Af8BngFUATcB/wGe + AVMBNgH/AZwBUgE1Af8BjQE+AR4B/wGIATkBGgH/AYEBMQEVAf8BXwEqAQ4B/wGUAYQBYwH/AaABmgGX + Af8BnwGZAZcB/wGeAZgBlgH/AZwBlgGUAf8BmgGUAZIB/wGZAZMBkQH/AZgBkwGQAf8BmAGTAZAB/wH+ + Av0B/wH4AfYB9QH/AfIB7wHuAf8B8QHuAe0B/wHxAe4B7QH/AacCpgH/Ax4B/wOBAf8DYAH/A1kB/wNd + Af8DQwH/KAADGwEmA5IB/wOYAf8DoAH/A58B/wObAf8DwQH/A7wB/wO4Af8DuQH/AawCqwH/AYEBZAFg + Af8BkgGQAY0B/wGkAqMB/wOxAf8DAQECOAAD3AH/A+oB/wPJAf8DOAFeAx8BLAMBAQLwAAMEAQUBUAFP + AU4B/wHtAeoB6AH/AfUB8wHyAf8BgQFhAV4B/wGEAWQBYAH/AYUBZAFfAf8BiQGDAYEB/wGNAYcBhAH/ + AZABigGHAf8BkgGNAYoB/wGVAY8BjAH/AZYBkQGOAf8BmwGVAZEB/wG2AbIBrwH/AeQB4gHhAf8D/AH/ + AvkB+AH/AfcB9gH1Af8B9AHzAfEB/wHyAu4B/wHvAe0B7AH/Ae4B6gHpAf8B7QHqAekB/wHtAukB/wHt + AeoB6AH/Ae0B6gHpAf8B7QHqAekB/wHtAeoB6QH/Ae0B6gHpAf8BrwKrAf8BkgKRAf8CIAEfAf8DxgH/ + A7oB/wKtAa4B/wObAf8DVwH/KAADSAGDAYQCgQH/Ae8B7AHrAf8B+gL4Af8BhAFmAWMB/wGFAWcBZAH/ + AZwBUQE0Af8BmQFPATIB/wGRAUUBKQH/AYMBNQEZAf8BZwE6ASIB/wGGAVYBSgH/AZYBkQGOAf8BmQGU + AZEB/wGcAZcBlAH/AZ4BmQGWAf8BoAGaAZcB/wGgAZoBlwH/AZ8BmgGXAf8BnwGZAZcB/wG0AbABrgH/ + AeUC4wH/AfwC+wH/AfoB+QH4Af8B9gH1AfQB/wHzAfEB8AH/AfAB7gHsAf8B7wHsAesB/wHvAewB6wH/ + Ae8B7AHrAf8B7gHrAekB/wGiAaEBoAH/AyIB/wOeAf8DjwH/A4YB/wOcAf8DTwH/JAADBgEIA1IBqQOL + Af8DlwH/A6IB/wOjAf8DnQH/A6QB/wPCAf8DvQH/A7gB/wO5Af8BXwFcAVcB/wGFAYMBgQH/AZcBlgGV + Af8DnAH/PAADEgEZA+YB/wP0Af8DsAH/AzgBXQMhATADCAEL8AADOAH/AesB5wHmAf8B7gLrAf8B2gLY + Af8BgQFgAV0B/wGDAWMBYAH/AY4BiAGFAf8BzQHLAcoB/wHwAe8B7gH/AfoC+QH/AfcC9gH/AfQB8wHy + Af8B8QHvAe4B/wHuAewB6wH/Ae0B6QHoAf8B6wHoAecB/wHrAegB5wH/AesC5wH/AeoB6AHmAf8B6wHo + AecB/wHrAegB5wH/AesB6AHmAf8B6wHnAeYB/wHrAegB5gH/AeoC5wH/AesC5wH/AesC5wH/AeoB6AHn + Af8BvAG4AbcB/wGnAaYBpQH/Aj4BPQH/Al0BXAH/A9MB/wPTAf8BrAGrAawB/wG3AbYBtwH/Ay8BSSgA + AwIBAwFRAU8BTgH/Ae0B6gHoAf8B9ALyAf8BgQFjAWAB/wGDAWUBYwH/AYUBZgFkAf8BiQGDAYEB/wGN + AYcBhAH/AZABigGIAf8BkwGNAYsB/wGVAY8BjAH/AZcBkQGOAf8BmwGWAZQB/wHPAc0BywH/AfAC7wH/ + AfsC+gH/AfkC9wH/AfYC9AH/AfMB8QHwAf8B8QHuAe0B/wHvAewB6gH/Ae0B6gHpAf8B7QHqAegB/wHt + AeoB6AH/Ae0B6gHoAf8B7QHqAegB/wHtAeoB6AH/Ae0B6gHoAf8B7QHqAegB/wGkAaABnwH/ApABjwH/ + AyEB/wPFAf8DugH/A6wB/wOaAf8DVwH/JAADGAEiA5UB/wOOAf8DnAH/A6UB/wOjAf8DnwH/Ay8B/wPG + Af8DwAH/A7wB/wO4Af8BZQFiAV4B/wFjAWABXQH/AYoBiAGGAf8DUAH6QAADIwEzA/MB/wPnAf8DmwH/ + AzoBYAMyAVADEAEV7AADKQH/AdMB0AHPAf8B6AHmAeUB/wHsAeoB6QH/AfIB8AHvAf8B8QHwAe8B/wHv + AewB6wH/AewB6gHpAf8B6gLmAf8B6QHmAeUB/wHpAuUB/wHpAeYB5AH/AegC5QH/AekC5QH/AekC5QH/ + AekB5gHkAf8B6QLlAf8B6QHmAeQB/wHpAuUB/wHoAuUB/wHpAeYB5QH/AekB5gHlAf8B6QHmAeUB/wHf + AdwB2wH/AY4BigGJAf8BhQGCAYEB/wFBAj8B/wGuAqwB/wGwAa8BrgH/AlABTwH/AyIB/wHQAdEB0AH/ + A9MB/wPTAf8D2AH/A6kB/zAAATcCOAH/AesB6AHmAf8B7gHsAeoB/wHwAe8B7gH/AWcBYQFfAf8BggFk + AWIB/wGQAYsBiAH/Ae4C7QH/AvwB+wH/AfkB+AH3Af8B9gH1AfQB/wHzAfIB8AH/AfAB7gHsAf8B7gHs + AeoB/wHsAekB5wH/AesB6AHmAf8B6wHoAeYB/wHrAegB5gH/AesB6AHmAf8B6wHoAeYB/wHrAegB5gH/ + AesB6AHmAf8B6wHoAeYB/wHrAegB5gH/AesB6AHmAf8B6wHoAeYB/wHrAegB5gH/AesB6AHmAf8BpAGh + AZ8B/wG6AbkBuAH/ATwBOwE6Af8BjgGNAYwB/wPTAf8D0wH/AqIBowH/A7UB/wMoATwgAAMBAQIDUgGp + A2cB/wOHAf8DlwH/A6EB/wOiAf8DVgH/Ay8B/wPBAf8DxgH/A74B/wO2Af8DtwH/AVgBVQFRAf8BYwFh + AV4B/wMWAR5EAAMzAVID0gH/A80B/wO3Af8DiwH/Ay4BSAMFAQfoAAMeASsBWgFYAVcB/wHnAeQB4wH/ + AecB5QHjAf8B5wHkAeMB/wHoAeQB4wH/AecB5AHjAf8B5wHkAeMB/wHoAeQB4wH/AecC5AH/AecB5QHj + Af8B5wHkAeMB/wHnAeQB4wH/AegB5AHjAf8B5wHlAeMB/wHnAeQB4wH/AecB5AHjAf8B3QHaAdkB/wG6 + AbYBtQH/AYsBiAGHAf8BXgFcAVoB/wFJAkcB/wFTAVIBUQH/AacCpgH/AZQCkgH/AVcCVgH/AysB/wMR + Af8DCwH/AYYChwH/A64B/wG4AbkBuAH/AcECwgH/AaUBpAGlAf8BtgK1Af8DDQERMAADKwH8AcsBxwHG + Af8B6QHmAeUB/wHsAekB6AH/AfEB7wHuAf8B8AHuAe0B/wHuAesB6gH/AesB6QHoAf8B6gHnAeUB/wHp + AeYB5QH/AekB5gHlAf8B6QHmAeUB/wHpAeYB5QH/AekB5gHlAf8B6QHmAeUB/wHpAeYB5QH/AekB5gHl + Af8B6QHmAeUB/wHpAeYB5QH/AekB5gHlAf8B6QHmAeUB/wHpAeYB5QH/AeUB4gHhAf8BxAHAAb8B/wGM + AYgBhwH/AWIBXwFeAf8BSwFKAUkB/wGyAbABrwH/AakBqAGnAf8BSwJKAf8BLAIrAf8D0QH/A9MB/wPT + Af8D2gH/A6cB/yQAAwQBBgPJAf8DgwH/A4UB/wOJAf8DlgH/A14B3QQAA1ABngPJAf8DwQH/A7wB/wO6 + Af8DuwH/AVEBTQFIAf8BWAFVAVEB/wMFAQdIAANiAfYDuQH/A7wB/wO8Af8DXAHRAyIBMQMAAQHoAAFF + AkYB/wHmAeMB4QH/AeYB4wHiAf8B5QHjAeIB/wHlAeMB4gH/AeYB4wHiAf8B5QHjAeIB/wHmAuIB/wHm + AeMB4gH/AeUB4wHiAf8B1QHRAdAB/wGnAaMBogH/AYMBZQFkAf8BQwFBAUAB/wFRAVABTwH/AYgChwH/ + AZwCmwH/AY8CjgH/AVoCWQH/ATgCNwH/AR0CHAH/Aw8B/wMLAf8BKgIpAf8BWAFZAVgB/wFlAoEB/wFl + AoEB/wOCAf8BkQGSAZMB/wKcAZ0B/wGXApgB/wGRApIB/wNeAdA4AAMQARUBWAFVAVQB/wHnAeQB4wH/ + AecB5AHjAf8B5wHkAeMB/wHnAeQB4wH/AecB5AHjAf8B5wHkAeMB/wHnAeQB4wH/AecB5AHjAf8B5wHk + AeMB/wHnAeQB4wH/AecB5AHjAf8B5wHkAeMB/wHnAeQB4wH/AecB5AHjAf8B5wHkAeMB/wHTAdABzgH/ + AaYBogGhAf8BhwGDAYIB/wFUAlAB/wFJAUcBRgH/AYwBiwGKAf8BoAGfAZ4B/wGHAoYB/wFKAUkBSAH/ + AyMB/wMQAf8DDAH/AZUClgH/Aa4CrwH/AbgCuQH/AcACwQH/AbIBsQGyAf8DswH/AwYBCCgAA18B/wOB + Af8DnQH/AzMBUwMAAQEDBwEKAxgBIQM7AWUDxwH/A8gB/wO/Af8DuQH/A7oB/wGzArIB/wFiAV8BXQH/ + AwABAUgAAw8BFAO8Af8DvQH/A8YB/wPRAf8DNwFaAxIBGegAA1YB9AFNAUwBSwH/AbMBrwGuAf8B5QHi + AeEB/wG2AbMBsgH/AY4BiwGKAf8BYAFcAVsB/wE0AjIB/wFfAV4BXQH/AZkCmAH/A5QB/wGHAoYB/wFU + AlMB/wI3ATYB/wEdAhwB/wMPAf8DCgH/AwkB/wNfAf8BgwKEAf8BggKEAf8BgQKCAf8BVQFWAVcB/wFd + Al8B/wFkAmUB/wFdAl8B/wNaAf8BdAJ1Af4DFAEbTAACRAFDAf8B5gHjAeIB/wHmAeMB4gH/AeYB4wHi + Af8B5gHjAeIB/wHmAeMB4gH/AeYB4wHiAf8B5gHjAeIB/wHmAeMB4gH/AeYB4wHiAf8BzAHIAccB/wGN + AYkBiAH/AV4BWwFaAf8BNQIzAf8BXAFbAVoB/wGjAaIBoQH/AZoCmQH/AYgBhwGGAf8CTwFOAf8DLQH/ + ARcCFgH/AQ8CDgH/AwwB/wE8AjsB/wFnAoEB/wFnAoEB/wFnAoEB/wGBAoIB/wKWAZcB/wGdAZ4BnwH/ + AY4CjwH/AY8CkAH/A1cBtzgAAwIBAwMOARMDIgQxAU0DNgFYA4YB/wPPAf8DzQH/A8gB/wO8Af8DuwH/ + A7cB/wFkAmMB/1AAA2QB7APIAf8D0wH/A+AB/wPpAf8DLwFJAwQBBugAAxkB/wJSAVEB/wOCAf8CYAFf + Af8DWAH/AUcCRgH/AzIB/wMdAf8DEAH/AyUB/wJNAUwB/wOVAf8DkQH/A44B/wGHAogB/wNfAf8BUQJS + Af8BhAGFAYQB/wFiAmMB/wNcAfgDVQGwAyEBMGQAA1sByAJUAVMB/wGgApwB/wHJAcUBxAH/AacBowGi + Af8BgwGBAWcB/wFQAU0BTAH/AUkBRwFGAf8BhAKDAf8ClwGWAf8CjwGOAf8BZQJkAf8DSwH/AjABLwH/ + AhoBGQH/Aw8B/wMQAf8DKwH/AWQCZQH/AYIChAH/AYECgwH/AWECYgH/AVoCXAH/AWECYgH/AWQCZQH/ + AV4CYAH/A20B9wNUAa4DDQESRAADEwEaAyoBQQM0AVQDUwGqA5EB/wPZAf8D1QH/A9AB/wPQAf8DxAH/ + A8AB/wO9Af8DugH/AywBQ1QAA1IBpwPjAf8D8QH/A/oB/wNhAdoDAgED7AADNQFVAz8B/wJaAVkB/wOR + Af8DlAH/A5UB/wKTAZQB/wORAf8BTwJQAf8CXwFgAf8CgwGEAf8DXAH4A0oBjQMlATeEAAMZAf8DTgH/ + AYECZwH/A10B/wNRAf8DPwH/ASsCKgH/AxgB/wMPAf8CQQFAAf8DZQH/AZMBlAGTAf8BkAKRAf8DjQH/ + AYICgwH/AVQCVQH/AWACYQH/A4EB/wFjAmQB/wNdAfADOwFjAxIBGFwAAxUBHQNxAfoD1AH/A+kB/wPr + Af8D5QH/A+EB/wPVAf8DzwH/A8cB/wPBAf8DvQH/A7gB/1wAAy0BRgP4Af8D3gH/AywBQ/8AsQADCwEP + A1sB/wOOAf8DkQH/A5MB/wOTAf8DkgH/A5AB/wE9Aj4B/wOHAf8DhAH/A18B8wM0AVR8AANKAYwD5gH/ + A/IB/wP0Af8D9AH/A+4B/wPhAf8D1QH/A80B/wPLAf8DwQH/A8AB//8A/wDaAANWAbQD3wH/A+cB/wPl + Af8D4QH/A9kB/wPWAf8DzAH/A60B//8A/wDuAAMlATcDKgFAAwgBC/8A/wD/AP8AUAABQgFNAT4HAAE+ + AwABKAMAAcADAAEwAwABAQEAAQEFAAGAAQQWAAP/AQAB/wHgAgABAwL/Af4CAAE/Af8B/AEPAv8B/AEH + BgAB/wQAAX8B/wHgAgABAQH/AfgBBwL/AfgBAwYAAfwEAAEfAf8EAAFnAfABAwL/AfABAwYAAfgEAAEP + AfwEAAEHAeABAQL/AeABAwYAAfAEAAEDAfgEAAEHAeABAAL/AcABAwYAAeAEAAEBAfAEAAEDAeABAAF/ + Af8BgAEDBgABwAQAAQEB4AQAAQEB4AEAAT8B/wEAAQcGAAHABQABwAUAAfABAAEfAf4BAAEHBgABgAUA + AcAFAAHwAQABDwH8AQABDwYAAYAFAAGABQAB+AEAAQ8B+AEAAR8GAAHABQABgAUAAfwBAAEHAfABAAE/ + BgABwAUAAcAFAAH+AQABAwHwAQABfwYAAeAEAAEBAcAFAAH/AQABAwHgAQAB/wYAAeAFAAHgBAABAQH/ + AYABAQHAAQEB/wYAAcAFAAHgBQAB/wHAAQEBgAEHAf8GAAHABAABAQHABQAB/wHgAgABDwH/BgABwAQA + AQ8BwAQAAQEB/wHgAgABDwH/BgABwAQAAR8BwAQAAQ8B/wH4AgABPwH/BgABwAQAAR8BwAQAAQ8B/wH4 + AgABfwH/BgABwAQAAR8BwAQAAQMB/wH8AgAC/wYAAcAEAAEfAcAEAAEBAv8BgAEBAv8GAAHABAABHwHA + BAABGAL/AcABAwL/BgABwAQAAR8BwAQAAR8C/wEAAQcC/wYAAcAEAAEfAcAEAAEfAf8B/AEAAQcC/wYA + AeAEAAEfAcAEAAEfAfgCAAEDAv8GAAHgBAABHwHgBAABHwHwAgABAQL/BgAB4AQAAR8B4AQAAR8B8AMA + Av8GAAHgBAABHwHgBAABHwH4AgABwAL/BgAB4AQAAR8B4AQAAR8B/AEAAQEB4AF/Af8GAAHgBAABHwHg + BAABHwH8AQABAwHwAT8B/wYAAeAEAAEfAeAEAAEfAf4BAAEHAfgBHwH/BgAB8AQAAR8B4AQAAR8B/gEA + AQcB/AEPAf8GAAHwBAABPwHwBAABHwH8AQABDwH+AQcB/wYAAfAEAAE/AfAEAAE/AfgBAAEPAf8BAwH/ + BgAB8AQAAT8B8AQAAT8B8AEAAQ8B/wGBAf8GAAHwBAABPwHwBAABPwHwAQABDwH/AcAB/wYAAfAEAAE/ + AfAEAAE/AeABAAEfAf8BwAF/BgAB+AQAAT8B8AQAAT8B4AEAAR8B/wHgAT8GAAH4BAABfwH4BAABPwHA + AQABHwH/AfABHwYAAfgEAAF/AfgEAAF/AcABQAEfAf8B+AEPBgAB/AMAAQEB/wH4BAABfwHgAQABHwH/ + AfgBDwYAAfwDAAEfAf8B/AMAAQEB/wH4AQABPwH/AfwBBwYAAf4CAAEHAv8B/AMAAR8B/wHwAQABPwH/ + Af4BBwYAAf8BAAEDA/8B/gIAAQcC/wHwAQABfwL/AQ8GAAf/AQABBwP/AfABAAT/BgAM/wH8AQEE/wYA + Df8BxwT/BgAS/wYACw== + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 127, 17 + + + True + + + True + + + True + + + True + + + True + + + 274, 17 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 65 + + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/Backup/MainForm.vb b/Examples/Desktop Framework/VB.NET/Backup/MainForm.vb new file mode 100644 index 0000000..78eb32a --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/MainForm.vb @@ -0,0 +1,416 @@ +Imports GeoFramework +Imports GeoFramework.Gps +Imports GeoFramework.Gps.IO +Imports GeoFramework.Gps.Nmea +Imports System.Threading + +Public Class MainForm + + ' In case no GPS device can be found, we can use a GPS device emulator. + ' The VirtualDevice class encapsulates all GPS simulation features. + + Public Sub New() + + ' This call is required by the Windows Form Designer. + InitializeComponent() + + ' Hook into GPS.NET's device detection events. These events will report on + ' any GPS devices which have been found, along with any problems encountered and reasons + ' why a particular device could NOT be detected. + AddHandler Devices.DeviceDetectionAttempted, AddressOf Devices_DeviceDetectionAttempted + AddHandler Devices.DeviceDetectionAttemptFailed, AddressOf Devices_DeviceDetectionAttemptFailed + AddHandler Devices.DeviceDetectionStarted, AddressOf Devices_DeviceDetectionStarted + AddHandler Devices.DeviceDetectionCompleted, AddressOf Devices_DeviceDetectionCompleted + AddHandler Devices.DeviceDetectionCanceled, AddressOf Devices_DeviceDetectionCanceled + AddHandler Devices.DeviceDetected, AddressOf Devices_DeviceDetected + + ' Hook up event handlers for application-level and AppDomain-level exceptions so + ' they can be reported to the user + AddHandler Application.ThreadException, AddressOf Application_ThreadException + AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf CurrentDomain_UnhandledException + End Sub + +#Region " GPS Device Detection Events " + + Sub Devices_DeviceDetectionCanceled(ByVal sender As Object, ByVal e As EventArgs) + BeginInvoke(New EventHandler(AddressOf DeviceDetectionCanceled), sender, e) + End Sub + + Private Sub DeviceDetectionCanceled(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Device detection canceled!" + detectButton.Enabled = True + cancelDetectButton.Enabled = False + End Sub + + Sub Devices_DeviceDetected(ByVal sender As Object, ByVal e As DeviceEventArgs) + BeginInvoke(New EventHandler(Of DeviceEventArgs)(AddressOf DeviceDetected), sender, e) + End Sub + + Private Sub DeviceDetected(ByVal sender As Object, ByVal e As DeviceEventArgs) + Dim item As ListViewItem + For Each item In devicesListView.Items + If Object.ReferenceEquals(item.Tag, e.Device) Then + item.SubItems(1).Text = "GPS DETECTED" + item.ImageIndex = 0 + End If + Next + devicesListView.Refresh() + End Sub + + Sub Devices_DeviceDetectionCompleted(ByVal sender As Object, ByVal e As EventArgs) + BeginInvoke(New EventHandler(AddressOf DeviceDetectionCompleted), sender, e) + End Sub + + Private Sub DeviceDetectionCompleted(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Device detection complete." + detectButton.Enabled = True + cancelDetectButton.Enabled = False + End Sub + + Sub Devices_DeviceDetectionStarted(ByVal sender As Object, ByVal e As EventArgs) + BeginInvoke(New EventHandler(AddressOf DeviceDetectionStarted), sender, e) + End Sub + + Private Sub DeviceDetectionStarted(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Detecting GPS devices..." + devicesListView.Items.Clear() + detectButton.Enabled = False + cancelDetectButton.Enabled = True + End Sub + + Sub Devices_DeviceDetectionAttemptFailed(ByVal sender As Object, ByVal e As DeviceDetectionExceptionEventArgs) + BeginInvoke(New EventHandler(Of DeviceDetectionExceptionEventArgs)(AddressOf DeviceDetectionAttemptFailed), sender, e) + End Sub + + Private Sub DeviceDetectionAttemptFailed(ByVal sender As Object, ByVal e As DeviceDetectionExceptionEventArgs) + Dim item As ListViewItem + For Each item In devicesListView.Items + If Object.ReferenceEquals(item.Tag, e.Device) Then + item.SubItems(1).Text = e.Exception.Message + item.ToolTipText = e.Exception.Message + item.ImageIndex = 1 + End If + Next item + devicesListView.Refresh() + End Sub + + Sub Devices_DeviceDetectionAttempted(ByVal sender As Object, ByVal e As DeviceEventArgs) + BeginInvoke(New EventHandler(Of DeviceEventArgs)(AddressOf DeviceDetectionAttempted), sender, e) + End Sub + + Private Sub DeviceDetectionAttempted(ByVal sender As Object, ByVal e As DeviceEventArgs) + undetectButton.Enabled = True + + For Each existingItem As ListViewItem In devicesListView.Items + If Object.ReferenceEquals(existingItem.Tag, e.Device) Then + existingItem.SubItems(1).Text = "Detecting..." + Return + End If + Next + + Dim item As New ListViewItem + item.Text = e.Device.Name + item.ImageIndex = 2 + item.Tag = e.Device + item.SubItems.Add(New ListViewItem.ListViewSubItem(item, "Detecting...")) + devicesListView.Items.Add(item) + devicesListView.Refresh() + End Sub + +#End Region + +#Region " NmeaInterpreter Events " + + ' In GPS.NET 3.0, events may be raised from a thread other than the form's own thread. As a result, + ' we must use Invoke or BeginInvoke to "marshal" the code to the Form's thread. + + Private Sub nmeaInterpreter1_SpeedChanged(ByVal sender As Object, ByVal e As SpeedEventArgs) Handles nmeaInterpreter1.SpeedChanged + BeginInvoke(New EventHandler(Of SpeedEventArgs)(AddressOf SpeedChanged), sender, e) + End Sub + + Private Sub SpeedChanged(ByVal sender As Object, ByVal e As SpeedEventArgs) + speedTextBox.Text = e.Speed.ToString() + speedLabel.Text = speedTextBox.Text + End Sub + + Private Sub nmeaInterpreter1_BearingChanged(ByVal sender As Object, ByVal e As AzimuthEventArgs) Handles nmeaInterpreter1.BearingChanged + BeginInvoke(New EventHandler(Of AzimuthEventArgs)(AddressOf BearingChanged), sender, e) + End Sub + + Private Sub BearingChanged(ByVal sender As Object, ByVal e As AzimuthEventArgs) + bearingTextBox.Text = e.Azimuth.ToString() + bearingLabel.Text = bearingTextBox.Text + End Sub + + Private Sub nmeaInterpreter1_AltitudeChanged(ByVal sender As Object, ByVal e As DistanceEventArgs) Handles nmeaInterpreter1.AltitudeChanged + BeginInvoke(New EventHandler(Of DistanceEventArgs)(AddressOf AltitudeChanged), sender, e) + End Sub + + Private Sub AltitudeChanged(ByVal sender As Object, ByVal e As DistanceEventArgs) + altitudeTextBox.Text = e.Distance.ToString() + altitudeLabel.Text = altitudeTextBox.Text + End Sub + + Private Sub nmeaInterpreter1_Paused(ByVal sender As Object, ByVal e As EventArgs) Handles nmeaInterpreter1.Paused + BeginInvoke(New EventHandler(AddressOf Paused), sender, e) + End Sub + + Private Sub Paused(ByVal sender As Object, ByVal e As EventArgs) + pauseButton.Enabled = False + resumeButton.Enabled = True + statusLabel.Text = "Paused." + End Sub + + Private Sub nmeaInterpreter1_Resumed(ByVal sender As Object, ByVal e As EventArgs) Handles nmeaInterpreter1.Resumed + BeginInvoke(New EventHandler(AddressOf Resumed), sender, e) + End Sub + + Private Sub Resumed(ByVal sender As Object, ByVal e As EventArgs) + pauseButton.Enabled = True + resumeButton.Enabled = False + End Sub + + Private Sub nmeaInterpreter1_Starting(ByVal sender As Object, ByVal e As DeviceEventArgs) Handles nmeaInterpreter1.Starting + BeginInvoke(New EventHandler(Of DeviceEventArgs)(AddressOf Starting), sender, e) + End Sub + + Private Sub Starting(ByVal sender As Object, ByVal e As DeviceEventArgs) + statusLabel.Text = "Connecting to " + e.Device.Name + "..." + End Sub + + Private Sub nmeaInterpreter1_Started(ByVal sender As Object, ByVal e As EventArgs) Handles nmeaInterpreter1.Started + BeginInvoke(New EventHandler(AddressOf Started), sender, e) + End Sub + + Private Sub Started(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Connected! Waiting for data..." + sentenceListBox.Items.Clear() + startButton.Enabled = False + stopButton.Enabled = True + pauseButton.Enabled = True + resumeButton.Enabled = False + + positionLabel.Text = Position.Empty.ToString() + speedLabel.Text = Speed.Empty.ToString() + bearingLabel.Text = Azimuth.Empty.ToString() + altitudeLabel.Text = Distance.Empty.ToString() + End Sub + + Private Sub nmeaInterpreter1_Stopping(ByVal sender As Object, ByVal e As EventArgs) + BeginInvoke(New EventHandler(AddressOf Stopping), sender, e) + End Sub + + Private Sub Stopping(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Stopping GPS device..." + End Sub + + Private Sub nmeaInterpreter1_Stopped(ByVal sender As Object, ByVal e As EventArgs) + BeginInvoke(New EventHandler(AddressOf Stopped), sender, e) + End Sub + + Private Sub Stopped(ByVal sender As Object, ByVal e As EventArgs) + statusLabel.Text = "Stopped." + startButton.Enabled = True + stopButton.Enabled = False + pauseButton.Enabled = False + resumeButton.Enabled = False + End Sub + + Private Sub nmeaInterpreter1_SatellitesChanged(ByVal sender As Object, ByVal e As SatelliteListEventArgs) + BeginInvoke(New EventHandler(Of SatelliteListEventArgs)(AddressOf SatellitesChanged), sender, e) + End Sub + + Private Sub SatellitesChanged(ByVal sender As Object, ByVal e As SatelliteListEventArgs) + Dim satellite As Satellite + + ' Update each satellite + For Each satellite In e.Satellites + Dim isSatelliteNew As Boolean = True + + ' Look through the existing list for matches + Dim viewItem As ListViewItem + For Each viewItem In satellitesListView.Items + ' Each item's Tag property houses a Satellite object + Dim existing As Satellite = CType(viewItem.Tag, Satellite) + + ' Do the ID's match? + If existing.PseudorandomNumber.Equals(satellite.PseudorandomNumber) Then + ' Yes. Update the listview columns + viewItem.SubItems(2).Text = satellite.Azimuth.ToString() + viewItem.SubItems(3).Text = satellite.Elevation.ToString() + viewItem.SubItems(4).Text = satellite.SignalToNoiseRatio.ToString() + isSatelliteNew = False + End If + Next + + ' If no existing satellite was found, then add a new one + If isSatelliteNew Then + ' Add a new column for this satellite + Dim newItem As New ListViewItem(satellite.PseudorandomNumber.ToString()) + newItem.SubItems.Add(satellite.Name) + newItem.SubItems.Add(satellite.Azimuth.ToString()) + newItem.SubItems.Add(satellite.Elevation.ToString()) + newItem.SubItems.Add(satellite.SignalToNoiseRatio.ToString()) + newItem.Tag = satellite + satellitesListView.Items.Add(newItem) + End If + Next + End Sub + + Private Sub nmeaInterpreter1_PositionChanged(ByVal sender As Object, ByVal e As PositionEventArgs) Handles nmeaInterpreter1.PositionChanged + BeginInvoke(New EventHandler(Of PositionEventArgs)(AddressOf PositionChanged), sender, e) + End Sub + + Private Sub PositionChanged(ByVal sender As Object, ByVal e As PositionEventArgs) + positionTextBox.Text = e.Position.ToString() + positionLabel.Text = positionTextBox.Text + End Sub + + Private Sub nmeaInterpreter1_DateTimeChanged(ByVal sender As Object, ByVal e As DateTimeEventArgs) Handles nmeaInterpreter1.DateTimeChanged + BeginInvoke(New EventHandler(Of DateTimeEventArgs)(AddressOf DateTimeChanged), sender, e) + End Sub + + Private Sub DateTimeChanged(ByVal sender As Object, ByVal e As DateTimeEventArgs) + dateTimeTextBox.Text = e.DateTime.ToShortDateString() + " " + e.DateTime.ToLongTimeString() + utcDateTimeTextBox.Text = e.DateTime.ToUniversalTime().ToString("R") + End Sub + + Private Sub nmeaInterpreter1_SentenceReceived(ByVal sender As Object, ByVal e As NmeaSentenceEventArgs) Handles nmeaInterpreter1.SentenceReceived + BeginInvoke(New EventHandler(Of NmeaSentenceEventArgs)(AddressOf SentenceReceived), sender, e) + End Sub + + Private Sub SentenceReceived(ByVal sender As Object, ByVal e As NmeaSentenceEventArgs) + If sentenceListBox.Items.Count >= 100 Then + sentenceListBox.Items.RemoveAt(0) + End If + + sentenceListBox.Items.Add(e.Sentence.ToString()) + sentenceListBox.SelectedIndex = sentenceListBox.Items.Count - 1 + + statusLabel.Text = "Receiving GPS data." + End Sub + +#End Region + +#Region " Button Events " + + Private Sub detectButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles detectButton.Click + Devices.BeginDetection() + End Sub + + Private Sub cancelDetectButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cancelDetectButton.Click + Devices.CancelDetection(True) + End Sub + + Private Sub undetectButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles undetectButton.Click + Devices.Undetect() + devicesListView.Items.Clear() + undetectButton.Enabled = False + End Sub + + Private Sub startButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles startButton.Click + Try + nmeaInterpreter1.Start() + Catch ex As Exception + MessageBox.Show(ex.Message, "Cannot connect to GPS") + End Try + End Sub + + Private Sub stopButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles stopButton.Click + nmeaInterpreter1.Stop() + End Sub + + Private Sub pauseButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles pauseButton.Click + nmeaInterpreter1.Pause() + End Sub + + Private Sub resumeButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles resumeButton.Click + nmeaInterpreter1.Resume() + End Sub + +#End Region + +#Region " Context Menu Events " + + Private Sub deviceContextMenu_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles deviceContextMenu.Opening + e.Cancel = devicesListView.SelectedItems.Count = 0 + End Sub + + Private Sub redetectMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles redetectMenuItem.Click + Dim device As Device = DirectCast(devicesListView.SelectedItems(0).Tag, Device) + device.Undetect() + device.BeginDetection() + End Sub + + Private Sub resetMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles resetMenuItem.Click + Dim device As Device = DirectCast(devicesListView.SelectedItems(0).Tag, Device) + device.Reset() + End Sub + +#End Region + +#Region " Other Form Control Events " + + Private Sub devicesListView_ItemSelectionChanged(ByVal sender As Object, ByVal e As ListViewItemSelectionChangedEventArgs) Handles devicesListView.ItemSelectionChanged + propertyGrid1.SelectedObject = e.Item.Tag + End Sub + + Private Sub serialCheckBox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles serialCheckBox.CheckedChanged + Devices.AllowSerialConnections = serialCheckBox.Checked + exhaustiveCheckBox.Enabled = serialCheckBox.Checked + End Sub + + Private Sub exhaustiveCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles exhaustiveCheckBox.CheckedChanged + Devices.AllowExhaustiveSerialPortScanning = exhaustiveCheckBox.Checked + End Sub + + Private Sub bluetoothCheckBox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles bluetoothCheckBox.CheckedChanged + Devices.AllowBluetoothConnections = bluetoothCheckBox.Checked + End Sub + + Private Sub firstDeviceCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles firstDeviceCheckBox.CheckedChanged + Devices.IsOnlyFirstDeviceDetected = firstDeviceCheckBox.Checked + End Sub + + Private Sub clockSynchronizationCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles clockSynchronizationCheckBox.CheckedChanged + Devices.IsClockSynchronizationEnabled = clockSynchronizationCheckBox.Checked + End Sub + +#End Region + +#Region " Unhandled Exception Events " + + Private Sub CurrentDomain_UnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs) + Dim ex As Exception = DirectCast(e.ExceptionObject, Exception) + NotifyOfUnhandledException(ex) + End Sub + + Private Sub Application_ThreadException(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs) + NotifyOfUnhandledException(e.Exception) + End Sub + + ''' + ''' Logs an unhandled exception and displays a message box alerting the user to the error. + ''' + ''' The unhandled exception. + Private Sub NotifyOfUnhandledException(ByVal exception As Exception) + Try + ' Log the exception (and all of its inner exceptions) + Dim innerException As Exception = exception + While (Not (innerException) Is Nothing) + Trace.TraceError(innerException.ToString) + innerException = innerException.InnerException + End While + + ' Stop the interpreter + nmeaInterpreter1.Stop() + Finally + ' Display the error to the user + MessageBox.Show( _ + "An unexpected error has occurred." & vbLf & vbLf & exception.GetType.ToString & ": " & exception.Message, _ + Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error) + End Try + End Sub + +#End Region +End Class diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.Designer.vb b/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.Designer.vb new file mode 100644 index 0000000..32fa9b5 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3521 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Diagnostics.MainForm + End Sub + End Class +End Namespace diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.myapp b/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.myapp new file mode 100644 index 0000000..27659f2 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + MainForm + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/AssemblyInfo.vb b/Examples/Desktop Framework/VB.NET/Backup/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..ee74e89 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/AssemblyInfo.vb @@ -0,0 +1,37 @@ +Imports System +Imports System.Reflection +Imports 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. + +' Review the values of the assembly attributes + + + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' 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: +' + + + diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.Designer.vb b/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.Designer.vb new file mode 100644 index 0000000..136abcd --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3521 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + '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. + ' + ' A strongly-typed resource class, for looking up localized strings, etc. + ' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ' + ' Returns the cached ResourceManager instance used by this class. + ' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("WindowsApplication1.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ' + ' Overrides the current thread's CurrentUICulture property for all + ' resource lookups using this strongly typed resource class. + ' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.resx b/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.Designer.vb b/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.Designer.vb new file mode 100644 index 0000000..0f86c9a --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:2.0.50727.3521 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Diagnostics.My.MySettings + Get + Return Global.Diagnostics.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.settings b/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/Backup/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).sln b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).sln new file mode 100644 index 0000000..9bb5c0b --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30320.27 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "GPS Diagnostics DF35 (VB.NET)", "GPS Diagnostics DF35 (VB.NET).vbproj", "{452F1CB0-6401-4D64-B2CC-CD53C411D927}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {452F1CB0-6401-4D64-B2CC-CD53C411D927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {452F1CB0-6401-4D64-B2CC-CD53C411D927}.Debug|Any CPU.Build.0 = Debug|Any CPU + {452F1CB0-6401-4D64-B2CC-CD53C411D927}.Release|Any CPU.ActiveCfg = Release|Any CPU + {452F1CB0-6401-4D64-B2CC-CD53C411D927}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7E4514DB-5E82-4946-859E-4E4724DC09D3} + EndGlobalSection +EndGlobal diff --git a/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj index f11a86e..9f0dc87 100644 --- a/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj +++ b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -26,6 +26,11 @@ Gps.ico + + + + + 3.5 true @@ -34,7 +39,7 @@ true bin\Debug\DF35\ Diagnostics.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 pdbonly @@ -43,7 +48,7 @@ true bin\Release\DF35\ Diagnostics.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 @@ -85,6 +90,7 @@ True Application.myapp + True diff --git a/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj.user b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj.user new file mode 100644 index 0000000..9b86104 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/GPS Diagnostics DF35 (VB.NET).vbproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file diff --git a/Examples/Desktop Framework/VB.NET/My Project/Application.Designer.vb b/Examples/Desktop Framework/VB.NET/My Project/Application.Designer.vb index 5a8822f..d9e79df 100644 --- a/Examples/Desktop Framework/VB.NET/My Project/Application.Designer.vb +++ b/Examples/Desktop Framework/VB.NET/My Project/Application.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' This code was generated by a tool. -' Runtime Version:2.0.50727.3521 +' Runtime Version:4.0.30319.42000 ' ' Changes to this file may cause incorrect behavior and will be lost if ' the code is regenerated. diff --git a/Examples/Desktop Framework/VB.NET/My Project/Resources.Designer.vb b/Examples/Desktop Framework/VB.NET/My Project/Resources.Designer.vb index 11b9b13..565fc6b 100644 --- a/Examples/Desktop Framework/VB.NET/My Project/Resources.Designer.vb +++ b/Examples/Desktop Framework/VB.NET/My Project/Resources.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' This code was generated by a tool. -' Runtime Version:2.0.50727.3521 +' Runtime Version:4.0.30319.42000 ' ' Changes to this file may cause incorrect behavior and will be lost if ' the code is regenerated. @@ -11,6 +11,7 @@ Option Strict On Option Explicit On +Imports System Namespace My.Resources @@ -18,10 +19,10 @@ Namespace My.Resources '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. - ' - ' A strongly-typed resource class, for looking up localized strings, etc. - ' - + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ @@ -31,30 +32,30 @@ Namespace My.Resources Private resourceCulture As Global.System.Globalization.CultureInfo - ' - ' Returns the cached ResourceManager instance used by this class. - ' + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' _ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("WindowsApplication1.Resources", GetType(Resources).Assembly) + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Diagnostics.Resources", GetType(Resources).Assembly) resourceMan = temp End If Return resourceMan End Get End Property - ' - ' Overrides the current thread's CurrentUICulture property for all - ' resource lookups using this strongly typed resource class. - ' + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' _ Friend Property Culture() As Global.System.Globalization.CultureInfo Get Return resourceCulture End Get - Set(ByVal value As Global.System.Globalization.CultureInfo) + Set resourceCulture = value End Set End Property diff --git a/Examples/Desktop Framework/VB.NET/My Project/Settings.Designer.vb b/Examples/Desktop Framework/VB.NET/My Project/Settings.Designer.vb index c7fd84c..539ffc9 100644 --- a/Examples/Desktop Framework/VB.NET/My Project/Settings.Designer.vb +++ b/Examples/Desktop Framework/VB.NET/My Project/Settings.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' This code was generated by a tool. -' Runtime Version:2.0.50727.3521 +' Runtime Version:4.0.30319.42000 ' ' Changes to this file may cause incorrect behavior and will be lost if ' the code is regenerated. @@ -13,27 +13,27 @@ Option Explicit On Namespace My - + _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) #Region "My.Settings Auto-Save Functionality" #If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean + Private Shared addedHandler As Boolean - Private Shared addedHandlerLockObject As New Object + Private Shared addedHandlerLockObject As New Object - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub #End If #End Region @@ -41,14 +41,14 @@ Namespace My Get #If _MyType = "WindowsForms" Then - If Not addedHandler Then - SyncLock addedHandlerLockObject - If Not addedHandler Then - AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings - addedHandler = True - End If - End SyncLock - End If + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If #End If Return defaultInstance End Get @@ -63,7 +63,7 @@ Namespace My Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _ Friend Module MySettingsProperty - _ + _ Friend ReadOnly Property Settings() As Global.Diagnostics.My.MySettings Get Return Global.Diagnostics.My.MySettings.Default diff --git a/Examples/Desktop Framework/VB.NET/UpgradeLog.htm b/Examples/Desktop Framework/VB.NET/UpgradeLog.htm new file mode 100644 index 0000000..54febf5 Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/UpgradeLog.htm differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb b/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb new file mode 100644 index 0000000..5b7af43 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.vb b/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.vb new file mode 100644 index 0000000..4339bf6 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Examples/Desktop Framework/VB.NET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..59f3c95 Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache new file mode 100644 index 0000000..9720667 Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF35 (VB.NET).vbprojAssemblyReference.cache b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF35 (VB.NET).vbprojAssemblyReference.cache new file mode 100644 index 0000000..24df8ab Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF35 (VB.NET).vbprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF40 (VB.NET).vbprojAssemblyReference.cache b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF40 (VB.NET).vbprojAssemblyReference.cache new file mode 100644 index 0000000..24df8ab Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Debug/GPS Diagnostics DF40 (VB.NET).vbprojAssemblyReference.cache differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/Examples/Desktop Framework/VB.NET/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..55ff115 Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb b/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb new file mode 100644 index 0000000..5b7af43 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.vb b/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.vb new file mode 100644 index 0000000..4339bf6 --- /dev/null +++ b/Examples/Desktop Framework/VB.NET/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/Examples/Desktop Framework/VB.NET/obj/Release/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache b/Examples/Desktop Framework/VB.NET/obj/Release/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache new file mode 100644 index 0000000..d9ed93c Binary files /dev/null and b/Examples/Desktop Framework/VB.NET/obj/Release/GPS Diagnostics DF20 (VB.NET).vbprojAssemblyReference.cache differ diff --git a/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs b/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs new file mode 100644 index 0000000..c66f422 --- /dev/null +++ b/obj/Debug/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0,Profile=Client", FrameworkDisplayName = ".NET Framework 4 Client Profile")] diff --git a/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs new file mode 100644 index 0000000..5d01041 --- /dev/null +++ b/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/obj/Debug/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache b/obj/Debug/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache new file mode 100644 index 0000000..d9ed93c Binary files /dev/null and b/obj/Debug/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache differ diff --git a/obj/Debug/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache b/obj/Debug/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache new file mode 100644 index 0000000..92f7c28 Binary files /dev/null and b/obj/Debug/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache differ diff --git a/obj/Debug/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache b/obj/Debug/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache new file mode 100644 index 0000000..d9ed93c Binary files /dev/null and b/obj/Debug/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache differ diff --git a/obj/Debug/GPS.NET (VS2008 Designers).csprojAssemblyReference.cache b/obj/Debug/GPS.NET (VS2008 Designers).csprojAssemblyReference.cache new file mode 100644 index 0000000..b4de436 Binary files /dev/null and b/obj/Debug/GPS.NET (VS2008 Designers).csprojAssemblyReference.cache differ diff --git a/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs b/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs new file mode 100644 index 0000000..c66f422 --- /dev/null +++ b/obj/Release/.NETFramework,Version=v4.0,Profile=Client.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0,Profile=Client", FrameworkDisplayName = ".NET Framework 4 Client Profile")] diff --git a/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs new file mode 100644 index 0000000..5d01041 --- /dev/null +++ b/obj/Release/.NETFramework,Version=v4.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/obj/Release/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache b/obj/Release/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache new file mode 100644 index 0000000..d9ed93c Binary files /dev/null and b/obj/Release/GPS.NET (Desktop Framework 2.0).csprojAssemblyReference.cache differ diff --git a/obj/Release/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache b/obj/Release/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache new file mode 100644 index 0000000..e188599 Binary files /dev/null and b/obj/Release/GPS.NET (Desktop Framework 3.5).csprojAssemblyReference.cache differ diff --git a/obj/Release/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache b/obj/Release/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache new file mode 100644 index 0000000..d9ed93c Binary files /dev/null and b/obj/Release/GPS.NET (Desktop Framework 4.0).csprojAssemblyReference.cache differ