- restructured source and added build configuration to build all non-UI projects without the need for a DevExpress license

This commit is contained in:
Horst Beham
2021-07-24 18:59:03 +02:00
parent 22f9d43adc
commit 6c94e62eca
43 changed files with 1039 additions and 482 deletions

View File

@@ -13,7 +13,7 @@ ChanSort is a Windows application that allows you to reorder your TV's channel l
Most modern TVs can transfer channel lists via USB stick, which you can plug into your PC.
ChanSort supports various file formats from Samsung, LG, Panasonic, Sony, Philips, Hisense, Toshiba, Grundig,
Sharp, Dyon, Blaupunkt, SatcoDX (used by ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken),
Linux VDR, SAT>IP .m3u and Enimgma2 based Linux boxes.
Linux VDR, SAT>IP .m3u and Enigma2 based Linux boxes.
![screenshot](http://beham.biz/chansort/ChanSort-en.png)
@@ -150,6 +150,10 @@ Supports SAT>IP .m3u files with extended information holding channel names and p
Requires a local copy of the files "lamedb", "bouquets.\*" and "userbouquet.\*" from /etc/Enigma2/.
Build from source
-----------------
See [build.md](build.md)
License (GPLv3)
---------------
GNU General Public Licence, Version 3: http://www.gnu.org/licenses/gpl.html

View File

@@ -13,15 +13,71 @@ namespace ChanSort.Api
public class View
{
#region enums MessageBoxButtons, MessageBoxIcon, DialogResult
/// <summary>
/// copy of System.Windows.Forms.MessageBoxButtons so that no reference to a UI assembly is required for dependent projects
/// </summary>
public enum MessageBoxButtons
{
OK,
OKCancel,
AbortRetryIgnore,
YesNoCancel,
YesNo,
RetryCancel,
}
/// <summary>
/// copy of System.Windows.Forms.MessageBoxIcon so that no reference to a UI assembly is required for dependent projects
/// </summary>
public enum MessageBoxIcon
{
None = 0,
Error = 16, // 0x00000010
Hand = 16, // 0x00000010
Stop = 16, // 0x00000010
Question = 32, // 0x00000020
Exclamation = 48, // 0x00000030
Warning = 48, // 0x00000030
Asterisk = 64, // 0x00000040
Information = 64, // 0x00000040
}
/// <summary>
/// copy of System.Windows.Forms.DialogResult so that no reference to a UI assembly is required for dependent projects
/// </summary>
public enum DialogResult
{
None,
OK,
Cancel,
Abort,
Retry,
Ignore,
Yes,
No,
}
#endregion
public static View Default { get; set; }
public Func<string, IActionBoxDialog> CreateActionBox { get; set; }
public Func<string, string, int, int, int> MessageBoxImpl { get; set; }
public Func<string, string, MessageBoxButtons, MessageBoxIcon, DialogResult> MessageBoxImpl { get; set; }
public int MessageBox(string msg, string caption = "", int buttons = 0, int icon = 0)
public Action<string, string, int, int, Action<string>> ShowHtmlBoxImpl { get; set; }
public DialogResult MessageBox(string msg, string caption = "", MessageBoxButtons buttons = 0, MessageBoxIcon icon = 0)
{
return MessageBoxImpl(msg, caption, buttons, icon);
}
public void ShowHtmlBox(string html, string title = null, int width = 450, int height = 250, Action<string> onUrlClick = null)
{
ShowHtmlBoxImpl.Invoke(html, title, width, height, onUrlClick);
}
}
}

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{321DEB9D-9F28-47B3-8B90-EE036B5F0019}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ChanSort.Loader.LG.UI</RootNamespace>
<AssemblyName>ChanSort.Loader.LG.UI</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="LgUserInterfaceFactory.cs" />
<Compile Include="TvSettingsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="TvSettingsForm.Designer.cs">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="PresetProgramNrDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="PresetProgramNrDialog.Designer.cs">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="PresetProgramNrDialog.cs.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.de.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.es.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.hu.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.pl.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.pt.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.ro.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.ru.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.tr.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.cs.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.de.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.es.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.hu.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.pl.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.pt.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.ro.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.ru.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TvSettingsForm.tr.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ChanSort.Api\ChanSort.Api.csproj">
<Project>{dccffa08-472b-4d17-bb90-8f513fc01392}</Project>
<Name>ChanSort.Api</Name>
</ProjectReference>
<ProjectReference Include="..\ChanSort.Loader.LG\ChanSort.Loader.LG.csproj">
<Project>{e972d8a1-2f5f-421c-ac91-cff45e5191be}</Project>
<Name>ChanSort.Loader.LG</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,20 @@
using System.Windows.Forms;
using ChanSort.Loader.LG.Binary;
namespace ChanSort.Loader.LG.UI
{
public class LgUserInterfaceFactory : ILgUserInterfaceFactory
{
public void ShowTvSettingsForm(ITllFileSerializer serializer, object parentWindow)
{
using var dlg = new TvSettingsForm(serializer);
dlg.ShowDialog(parentWindow as IWin32Window);
}
public bool ShowPresetProgramNrDialog()
{
using var dlg = new PresetProgramNrDialog();
return dlg.ShowDialog() == DialogResult.Yes;
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ChanSort.Loader.LG.UI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ChanSort.Loader.LG.UI")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("321deb9d-9f28-47b3-8b90-ee036b5f0019")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -6,9 +6,9 @@ namespace ChanSort.Loader.LG.Binary
{
public partial class TvSettingsForm : XtraForm
{
private readonly TllFileSerializer tvSerializer;
private readonly ITllFileSerializer tvSerializer;
public TvSettingsForm(TllFileSerializer tvSerializer)
public TvSettingsForm(ITllFileSerializer tvSerializer)
{
this.tvSerializer = tvSerializer;
InitializeComponent();

View File

@@ -2,15 +2,17 @@
//#define LM640T_EXPERIMENT
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
using ChanSort.Api;
using View = ChanSort.Api.View;
namespace ChanSort.Loader.LG.Binary
{
public partial class TllFileSerializer : SerializerBase
public partial class TllFileSerializer : SerializerBase, ITllFileSerializer
{
enum SpecialHandlingModels { Standard, LH3000, LH250, PN, LP, LT, LY };
@@ -72,6 +74,8 @@ namespace ChanSort.Loader.LG.Binary
private bool mustReorganizeDvbs;
private decimal dvbsSymbolRateFactor;
private ILgUserInterfaceFactory uiFactory;
#region ctor()
public TllFileSerializer(string inputFile) : base(inputFile)
{
@@ -136,6 +140,8 @@ namespace ChanSort.Loader.LG.Binary
public override void Load()
{
this.InitUiFactory();
string basename = (Path.GetFileNameWithoutExtension(this.FileName) ?? "").ToUpper();
if (basename.StartsWith("XXLH250"))
this.specialModel = SpecialHandlingModels.LH250;
@@ -176,7 +182,7 @@ namespace ChanSort.Loader.LG.Binary
channel.NewProgramNr = channel.OldProgramNr;
foreach (var channel in this.satRadioChannels.Channels)
channel.NewProgramNr = channel.OldProgramNr;
if (IsTesting || new PresetProgramNrDialog().ShowDialog() != DialogResult.Yes)
if (IsTesting || !PromptForEditingPresetList())
{
this.satTvChannels.ReadOnly = true;
this.satRadioChannels.ReadOnly = true;
@@ -191,6 +197,41 @@ namespace ChanSort.Loader.LG.Binary
list.MaxChannelNameLength = 40;
}
private void InitUiFactory()
{
if (this.uiFactory != null || this.IsTesting)
return;
// run-time-binding to the UI factory so that the loader module can be edited + compiled without DevExpress dependencies
var ass = Assembly.Load(new AssemblyName("ChanSort.Loader.LG.UI"));
var type = ass.GetType("ChanSort.Loader.LG.UI.LgUserInterfaceFactory");
this.uiFactory = (ILgUserInterfaceFactory)Activator.CreateInstance(type);
}
private bool PromptForEditingPresetList()
{
#if false
return uiFactory.ShowPresetProgramNrDialog();
#else
View.Default.ShowHtmlBox(
@"<b>Editing of the satellite channel list is disabled!</b>
This file contains preset program numbers for satellite channels.
Due to issues with most recent LG firmwares such lists can no longer be modified reliably.
<b>To enable editing you must first run a clean full channel search:</b>
- Keep a copy of the current TLL file if you want to use it as a reference list later
- Execute a Factory Reset on your TV
- Execute an automatic channel search with options 'Full', 'None' and 'Blind search'
- Save the new list to USB and open it with ChanSort
<a href='http://sourceforge.net/p/chansort/wiki/Channels%20disappear%20or%20change%20program%20numbers%20randomly/'>See the ChanSort Wiki for details</a>",
"!!! Attention !!!", 450, 220, url => Process.Start(url));
return false; // TODO
#endif
}
#endregion
#region ReadFileHeader()
@@ -1102,10 +1143,7 @@ namespace ChanSort.Loader.LG.Binary
#region ShowDeviceSettingsForm()
public override void ShowDeviceSettingsForm(object parentWindow)
{
using (var dlg = new TvSettingsForm(this))
{
dlg.ShowDialog((Form)parentWindow);
}
uiFactory.ShowTvSettingsForm(this, parentWindow);
}
#endregion

View File

@@ -64,17 +64,11 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
@@ -90,12 +84,6 @@
<Compile Include="GlobalClone\GcJsonSerializer.cs" />
<Compile Include="LgPlugin.cs" />
<Compile Include="GlobalClone\GcXmlSerializer.cs" />
<Compile Include="PresetProgramNrDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="PresetProgramNrDialog.Designer.cs">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resource.Designer.cs">
<AutoGen>True</AutoGen>
@@ -108,12 +96,7 @@
<Compile Include="Binary\TllChannelBase.cs" />
<Compile Include="Binary\TllFileSerializer.cs" />
<Compile Include="Binary\TllFileSerializer.sql.cs" />
<Compile Include="Binary\TvSettingsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Binary\TvSettingsForm.Designer.cs">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="ILgUserInterfaceFactory.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ChanSort.Api\ChanSort.Api.csproj">
@@ -127,37 +110,6 @@
</Content>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="PresetProgramNrDialog.cs.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.de.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.es.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.hu.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.pl.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.pt.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.ro.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.ru.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PresetProgramNrDialog.tr.resx">
<DependentUpon>PresetProgramNrDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Resource.cs.resx" />
<EmbeddedResource Include="Resource.de.resx">
@@ -177,38 +129,6 @@
<EmbeddedResource Include="Resource.ro.resx" />
<EmbeddedResource Include="Resource.ru.resx" />
<EmbeddedResource Include="Resource.tr.resx" />
<EmbeddedResource Include="Binary\TvSettingsForm.cs.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.de.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.es.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.hu.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.pl.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.pt.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.ro.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.ru.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Binary\TvSettingsForm.tr.resx">
<DependentUpon>TvSettingsForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />

View File

@@ -4,7 +4,6 @@ using System.IO;
using System.Text;
using System.Xml;
using ChanSort.Api;
using System.Windows.Forms;
using ChanSort.Loader.LG;
namespace ChanSort.Loader.GlobalClone
@@ -107,7 +106,7 @@ namespace ChanSort.Loader.GlobalClone
{
series = match.Groups[1].Value;
if ((series == "LB" || series == "UB") && StringComparer.InvariantCulture.Compare(match.Groups[2].Value, "60") >= 0)
Api.View.Default.MessageBox(Resource.GcSerializer_webOsFirmwareWarning, "LG GlobalClone", (int)MessageBoxButtons.OK, (int)MessageBoxIcon.Information);
Api.View.Default.MessageBox(Resource.GcSerializer_webOsFirmwareWarning, "LG GlobalClone", View.MessageBoxButtons.OK, View.MessageBoxIcon.Information);
}
break;
}
@@ -119,7 +118,7 @@ namespace ChanSort.Loader.GlobalClone
if (binTlls.Length > 0 && !(binTlls.Length == 1 && Path.GetFileName(binTlls[0]).ToLower() == Path.GetFileName(this.FileName).ToLower()))
{
var txt = Resource.GcSerializer_ReadModelInfo_ModelWarning;
if (Api.View.Default != null && Api.View.Default.MessageBox(txt, "LG GlobalClone", (int)MessageBoxButtons.YesNo, (int)MessageBoxIcon.Information) == (int)DialogResult.Yes)
if (Api.View.Default != null && Api.View.Default.MessageBox(txt, "LG GlobalClone", View.MessageBoxButtons.YesNo, View.MessageBoxIcon.Information) == View.DialogResult.Yes)
{
foreach (var file in binTlls)
File.Move(file, file + "_bak");
@@ -205,7 +204,7 @@ namespace ChanSort.Loader.GlobalClone
if (total == 0)
{
Api.View.Default.MessageBox(Resource.GcSerializer_ReadChannelLists_NoChannelsMsg, Resource.GcSerializer_ReadChannelLists_NoChannelsCap,
(int)MessageBoxButtons.OK, (int)MessageBoxIcon.Exclamation);
View.MessageBoxButtons.OK, View.MessageBoxIcon.Exclamation);
}
}
#endregion

View File

@@ -0,0 +1,31 @@
using System.Collections.Generic;
using ChanSort.Loader.LG.Binary;
namespace ChanSort.Loader.LG
{
/*
* The WinForms/DevExpress user interface classes are located in a separate project (ChanSort.Loader.LG.UI)
* so that this project here with the loader code can be recompiled without a DevExpress license.
*
* The class ChanSort.Loader.LG.UI.LgUserInterfaceFactory implements this interface and is dynamically loaded
* via reflection at run-time to avoid any compile-time dependencies.
*
* Parameters passed to UI methods should be interfaces to maintain binary so that adding new member variables
* to the loader code won't break binary compatibility between the precompiled UI dll and a recompiled Loader dll
*
*/
public interface ILgUserInterfaceFactory
{
public void ShowTvSettingsForm(ITllFileSerializer serializer, object parentWindow);
bool ShowPresetProgramNrDialog();
}
public interface ITllFileSerializer
{
IList<string> SupportedTvCountryCodes { get; }
string TvCountryCode { get; set; }
FirmwareData GetFirmwareMapping();
int GetHotelMenuOffset();
}
}

View File

@@ -21,7 +21,9 @@ namespace ChanSort.Loader.LG
if (content.Contains("<TLLDATA>"))
return new GlobalClone.GcXmlSerializer(inputFile);
return new Binary.TllFileSerializer(inputFile);
return new Binary.TllFileSerializer(inputFile) { IsTesting = this.IsTesting };
}
internal bool IsTesting { get; set; }
}
}

View File

@@ -0,0 +1,2 @@
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -21,6 +21,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.LG", "ChanS
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{67AED502-8AEB-45F2-9B95-AC42B6A5D2C4}"
ProjectSection(SolutionItems) = preProject
build.md = build.md
changelog.md = changelog.md
..\readme.md = ..\readme.md
..\readme_de.md = ..\readme_de.md
@@ -82,388 +83,595 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.Sharp", "Ch
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Sharp", "Test.Loader.Sharp\Test.Loader.Sharp.csproj", "{DF1A8F81-CE9B-499E-9258-27F346B32A8B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.LG.UI", "ChanSort.Loader.LG.UI\ChanSort.Loader.LG.UI.csproj", "{321DEB9D-9F28-47B3-8B90-EE036B5F0019}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x86 = Release|x86
All_Debug|Any CPU = All_Debug|Any CPU
All_Debug|Mixed Platforms = All_Debug|Mixed Platforms
All_Debug|x86 = All_Debug|x86
All_Release|Any CPU = All_Release|Any CPU
All_Release|Mixed Platforms = All_Release|Mixed Platforms
All_Release|x86 = All_Release|x86
NoDevExpress_Debug|Any CPU = NoDevExpress_Debug|Any CPU
NoDevExpress_Debug|Mixed Platforms = NoDevExpress_Debug|Mixed Platforms
NoDevExpress_Debug|x86 = NoDevExpress_Debug|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|Mixed Platforms.Build.0 = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|x86.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Debug|x86.Build.0 = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|Any CPU.Build.0 = Release|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|Mixed Platforms.ActiveCfg = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|Mixed Platforms.Build.0 = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|x86.ActiveCfg = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.Release|x86.Build.0 = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|Mixed Platforms.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|x86.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Debug|x86.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|Any CPU.Build.0 = Release|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|Mixed Platforms.ActiveCfg = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|Mixed Platforms.Build.0 = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|x86.ActiveCfg = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.Release|x86.Build.0 = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|Mixed Platforms.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|x86.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Debug|x86.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|Any CPU.Build.0 = Release|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|Mixed Platforms.ActiveCfg = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|Mixed Platforms.Build.0 = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|x86.ActiveCfg = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.Release|x86.Build.0 = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|Mixed Platforms.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|x86.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Debug|x86.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|Any CPU.Build.0 = Release|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|Mixed Platforms.ActiveCfg = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|Mixed Platforms.Build.0 = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|x86.ActiveCfg = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.Release|x86.Build.0 = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|Mixed Platforms.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|x86.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Debug|x86.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|Any CPU.Build.0 = Release|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|Mixed Platforms.ActiveCfg = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|Mixed Platforms.Build.0 = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|x86.ActiveCfg = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.Release|x86.Build.0 = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|Mixed Platforms.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|x86.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Debug|x86.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|Any CPU.Build.0 = Release|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|Mixed Platforms.ActiveCfg = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|Mixed Platforms.Build.0 = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|x86.ActiveCfg = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.Release|x86.Build.0 = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|Mixed Platforms.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|x86.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Debug|x86.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|Any CPU.Build.0 = Release|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|Mixed Platforms.ActiveCfg = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|Mixed Platforms.Build.0 = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|x86.ActiveCfg = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.Release|x86.Build.0 = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|Mixed Platforms.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|x86.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Debug|x86.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|Any CPU.Build.0 = Release|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|Mixed Platforms.ActiveCfg = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|Mixed Platforms.Build.0 = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|x86.ActiveCfg = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.Release|x86.Build.0 = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|Mixed Platforms.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|x86.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Debug|x86.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|Any CPU.Build.0 = Release|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|Mixed Platforms.ActiveCfg = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|Mixed Platforms.Build.0 = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|x86.ActiveCfg = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.Release|x86.Build.0 = Release|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|x86.ActiveCfg = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Debug|x86.Build.0 = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|Any CPU.Build.0 = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|x86.ActiveCfg = Release|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.Release|x86.Build.0 = Release|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|x86.ActiveCfg = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Debug|x86.Build.0 = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|Any CPU.Build.0 = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|x86.ActiveCfg = Release|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.Release|x86.Build.0 = Release|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|x86.ActiveCfg = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Debug|x86.Build.0 = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|Any CPU.Build.0 = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|x86.ActiveCfg = Release|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.Release|x86.Build.0 = Release|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|x86.ActiveCfg = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Debug|x86.Build.0 = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|Any CPU.Build.0 = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|x86.ActiveCfg = Release|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.Release|x86.Build.0 = Release|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|x86.ActiveCfg = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Debug|x86.Build.0 = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|Any CPU.Build.0 = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|x86.ActiveCfg = Release|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.Release|x86.Build.0 = Release|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|x86.ActiveCfg = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.Debug|x86.Build.0 = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|Any CPU.Build.0 = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|x86.ActiveCfg = Release|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.Release|x86.Build.0 = Release|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|x86.ActiveCfg = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Debug|x86.Build.0 = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|Any CPU.Build.0 = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|x86.ActiveCfg = Release|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.Release|x86.Build.0 = Release|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|x86.ActiveCfg = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Debug|x86.Build.0 = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|Any CPU.Build.0 = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|x86.ActiveCfg = Release|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.Release|x86.Build.0 = Release|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|x86.ActiveCfg = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.Debug|x86.Build.0 = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|Any CPU.Build.0 = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|x86.ActiveCfg = Release|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.Release|x86.Build.0 = Release|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|x86.ActiveCfg = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.Debug|x86.Build.0 = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|Any CPU.Build.0 = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|x86.ActiveCfg = Release|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.Release|x86.Build.0 = Release|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|x86.ActiveCfg = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Debug|x86.Build.0 = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|Any CPU.Build.0 = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|x86.ActiveCfg = Release|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.Release|x86.Build.0 = Release|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|x86.ActiveCfg = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Debug|x86.Build.0 = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|Any CPU.Build.0 = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|x86.ActiveCfg = Release|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.Release|x86.Build.0 = Release|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|x86.ActiveCfg = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Debug|x86.Build.0 = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Any CPU.Build.0 = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.ActiveCfg = Release|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.Release|x86.Build.0 = Release|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|x86.ActiveCfg = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Debug|x86.Build.0 = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|Any CPU.Build.0 = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|x86.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.Release|x86.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|x86.ActiveCfg = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Debug|x86.Build.0 = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|Any CPU.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|x86.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.Release|x86.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|Any CPU.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|x86.ActiveCfg = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.Debug|x86.Build.0 = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.Release|Any CPU.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Release|Any CPU.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Release|x86.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.Release|x86.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|x86.ActiveCfg = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Debug|x86.Build.0 = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|Any CPU.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|x86.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.Release|x86.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|x86.ActiveCfg = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Debug|x86.Build.0 = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|Any CPU.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|x86.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.Release|x86.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|x86.ActiveCfg = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.Debug|x86.Build.0 = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|Any CPU.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|x86.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.Release|x86.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|x86.ActiveCfg = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Debug|x86.Build.0 = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|Any CPU.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|Any CPU.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|x86.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.Release|x86.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|x86.ActiveCfg = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Debug|x86.Build.0 = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|Any CPU.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|x86.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.Release|x86.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|x86.ActiveCfg = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Debug|x86.Build.0 = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|Any CPU.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|x86.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.Release|x86.Build.0 = Release|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|x86.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Debug|x86.Build.0 = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|Any CPU.Build.0 = Release|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|Mixed Platforms.Build.0 = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|x86.ActiveCfg = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.All_Release|x86.Build.0 = Release|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|x86.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Debug|x86.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|Any CPU.Build.0 = Release|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|Mixed Platforms.Build.0 = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|x86.ActiveCfg = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.All_Release|x86.Build.0 = Release|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{DCCFFA08-472B-4D17-BB90-8F513FC01392}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|x86.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Debug|x86.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|Any CPU.Build.0 = Release|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|Mixed Platforms.Build.0 = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|x86.ActiveCfg = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.All_Release|x86.Build.0 = Release|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{E972D8A1-2F5F-421C-AC91-CFF45E5191BE}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|x86.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Debug|x86.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|Any CPU.Build.0 = Release|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|Mixed Platforms.Build.0 = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|x86.ActiveCfg = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.All_Release|x86.Build.0 = Release|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{68CFCB2F-B52A-43A1-AA5C-5D64A1D655D2}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|x86.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Debug|x86.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|Any CPU.Build.0 = Release|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|Mixed Platforms.Build.0 = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|x86.ActiveCfg = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.All_Release|x86.Build.0 = Release|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{A1C9A98D-368A-44E8-9B7F-7EACA46C9EC5}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|x86.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Debug|x86.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|Any CPU.Build.0 = Release|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|Mixed Platforms.Build.0 = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|x86.ActiveCfg = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.All_Release|x86.Build.0 = Release|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{F6F02792-07F1-48D5-9AF3-F945CA5E3931}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|x86.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Debug|x86.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|Any CPU.Build.0 = Release|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|Mixed Platforms.Build.0 = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|x86.ActiveCfg = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.All_Release|x86.Build.0 = Release|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{68DA8072-3A29-4076-9F64-D66F38349585}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|x86.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Debug|x86.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|Any CPU.Build.0 = Release|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|Mixed Platforms.Build.0 = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|x86.ActiveCfg = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.All_Release|x86.Build.0 = Release|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{F943DBFE-D3C3-4885-A38B-375148012FEC}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|Mixed Platforms.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|x86.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Debug|x86.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|Any CPU.Build.0 = Release|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|Mixed Platforms.ActiveCfg = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|Mixed Platforms.Build.0 = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|x86.ActiveCfg = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.All_Release|x86.Build.0 = Release|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{74A18C6F-09FF-413E-90D9-827066FA5B36}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|x86.ActiveCfg = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Debug|x86.Build.0 = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|Any CPU.Build.0 = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|x86.ActiveCfg = Release|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.All_Release|x86.Build.0 = Release|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{D093E7EE-D3AD-4E7B-AF82-C6918CA017FB}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|x86.ActiveCfg = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Debug|x86.Build.0 = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|Any CPU.Build.0 = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|x86.ActiveCfg = Release|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.All_Release|x86.Build.0 = Release|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|x86.ActiveCfg = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Debug|x86.Build.0 = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|Any CPU.Build.0 = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|x86.ActiveCfg = Release|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.All_Release|x86.Build.0 = Release|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{E6279FF8-362A-41E6-AC0D-D0861D43F01C}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|x86.ActiveCfg = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Debug|x86.Build.0 = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|Any CPU.Build.0 = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|x86.ActiveCfg = Release|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.All_Release|x86.Build.0 = Release|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{70E29C6B-B926-4859-9548-23375BF1E1B5}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|x86.ActiveCfg = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Debug|x86.Build.0 = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|Any CPU.Build.0 = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|x86.ActiveCfg = Release|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.All_Release|x86.Build.0 = Release|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{D1E4454F-DB09-402D-AD87-1E3BD17266A9}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|x86.ActiveCfg = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Debug|x86.Build.0 = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|Any CPU.Build.0 = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|x86.ActiveCfg = Release|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.All_Release|x86.Build.0 = Release|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{2717DB4C-7E94-4277-A880-FC2571096E74}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|x86.ActiveCfg = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Debug|x86.Build.0 = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|Any CPU.Build.0 = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|x86.ActiveCfg = Release|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.All_Release|x86.Build.0 = Release|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{0A162099-DA92-426A-AB70-36F88F9E5DC1}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|x86.ActiveCfg = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Debug|x86.Build.0 = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|Any CPU.Build.0 = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|x86.ActiveCfg = Release|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.All_Release|x86.Build.0 = Release|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{C0528858-F32D-4C0C-8EC8-CEDB53C01402}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|x86.ActiveCfg = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Debug|x86.Build.0 = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|Any CPU.Build.0 = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|x86.ActiveCfg = Release|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.All_Release|x86.Build.0 = Release|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{F732435A-0188-456C-8F06-7FBA1842FB35}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|x86.ActiveCfg = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Debug|x86.Build.0 = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|Any CPU.Build.0 = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|x86.ActiveCfg = Release|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.All_Release|x86.Build.0 = Release|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{D7B71F40-C941-4364-A25F-8D41B384507A}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|x86.ActiveCfg = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Debug|x86.Build.0 = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|Any CPU.Build.0 = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|x86.ActiveCfg = Release|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.All_Release|x86.Build.0 = Release|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{AED060F0-495C-494C-89C2-7A96A0FA3762}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|x86.ActiveCfg = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Debug|x86.Build.0 = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|Any CPU.Build.0 = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|x86.ActiveCfg = Release|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.All_Release|x86.Build.0 = Release|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{484028B6-3AAE-4F7E-A88A-76BEEB70203B}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|x86.ActiveCfg = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Debug|x86.Build.0 = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|Any CPU.Build.0 = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|x86.ActiveCfg = Release|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.All_Release|x86.Build.0 = Release|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{1F52B5EC-A2F1-4E53-9E1A-4658296C5BB5}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|x86.ActiveCfg = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Debug|x86.Build.0 = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|Any CPU.Build.0 = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|x86.ActiveCfg = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.All_Release|x86.Build.0 = Release|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{32EFB306-DEF8-4488-B1AE-46D5B183C373}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|x86.ActiveCfg = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Debug|x86.Build.0 = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|Any CPU.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|x86.ActiveCfg = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.All_Release|x86.Build.0 = Release|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{4D5AF0A3-1B96-42C8-910D-0C4852EA22F4}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|x86.ActiveCfg = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.All_Debug|x86.Build.0 = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|Any CPU.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|x86.ActiveCfg = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.All_Release|x86.Build.0 = Release|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{052692BF-D782-4888-B34D-89D6B1379340}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|x86.ActiveCfg = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Debug|x86.Build.0 = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|Any CPU.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|x86.ActiveCfg = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.All_Release|x86.Build.0 = Release|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{4AD7F77E-617C-4741-82AE-E7A41C85EE4D}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|x86.ActiveCfg = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Debug|x86.Build.0 = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|Any CPU.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|x86.ActiveCfg = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.All_Release|x86.Build.0 = Release|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{6733CFE6-C86A-4BD6-817C-292E0638CE4F}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|x86.ActiveCfg = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Debug|x86.Build.0 = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|Any CPU.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|x86.ActiveCfg = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.All_Release|x86.Build.0 = Release|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{8C342A81-387E-403D-9140-17C4A4C4292E}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|x86.ActiveCfg = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Debug|x86.Build.0 = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|Any CPU.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|x86.ActiveCfg = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.All_Release|x86.Build.0 = Release|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{48D99DF3-018D-4B3F-BB22-5C7F6F6A7E77}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|x86.ActiveCfg = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Debug|x86.Build.0 = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|Any CPU.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|x86.ActiveCfg = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.All_Release|x86.Build.0 = Release|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{4E68F218-5135-4D92-8C17-14FAA5D4CBF3}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|x86.ActiveCfg = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Debug|x86.Build.0 = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|Any CPU.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|x86.ActiveCfg = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.All_Release|x86.Build.0 = Release|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|Any CPU.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|x86.ActiveCfg = Debug|x86
{DF1A8F81-CE9B-499E-9258-27F346B32A8B}.NoDevExpress_Debug|x86.Build.0 = Debug|x86
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|Any CPU.Build.0 = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|x86.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Debug|x86.Build.0 = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|Any CPU.ActiveCfg = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|Any CPU.Build.0 = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|Mixed Platforms.Build.0 = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|x86.ActiveCfg = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.All_Release|x86.Build.0 = Release|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.NoDevExpress_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.NoDevExpress_Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.NoDevExpress_Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.NoDevExpress_Debug|x86.ActiveCfg = Debug|Any CPU
{321DEB9D-9F28-47B3-8B90-EE036B5F0019}.NoDevExpress_Debug|x86.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -41,9 +41,12 @@ namespace ChanSort.Ui
//
// lblMessage
//
this.lblMessage.AllowHtmlString = true;
resources.ApplyResources(this.lblMessage, "lblMessage");
this.lblMessage.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("lblMessage.Appearance.Font")));
this.lblMessage.Appearance.Options.UseFont = true;
this.lblMessage.Appearance.Options.UseTextOptions = true;
this.lblMessage.Appearance.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.lblMessage.Name = "lblMessage";
//
// imageCollection1

View File

@@ -163,8 +163,8 @@
<assembly alias="DevExpress.Utils.v21.1" name="DevExpress.Utils.v21.1, Version=21.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="imageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v21.1" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMC4xLCBWZXJzaW9uPTIwLjEu
OC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4xLCBWZXJzaW9uPTIxLjEu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//

View File

@@ -494,6 +494,10 @@
<Project>{d093e7ee-d3ad-4e7b-af82-c6918ca017fb}</Project>
<Name>ChanSort.Loader.Hisense</Name>
</ProjectReference>
<ProjectReference Include="..\ChanSort.Loader.LG.UI\ChanSort.Loader.LG.UI.csproj">
<Project>{321deb9d-9f28-47b3-8b90-ee036b5f0019}</Project>
<Name>ChanSort.Loader.LG.UI</Name>
</ProjectReference>
<ProjectReference Include="..\ChanSort.Loader.LG\ChanSort.Loader.LG.csproj">
<Project>{e972d8a1-2f5f-421c-ac91-cff45e5191be}</Project>
<Name>ChanSort.Loader.LG</Name>

View File

@@ -104,7 +104,8 @@ namespace ChanSort.Ui
// The Api.View.Default object gives loaders access to UI functions
Api.View.Default = new Api.View();
Api.View.Default.CreateActionBox = msg => new ActionBoxDialog(msg);
Api.View.Default.MessageBoxImpl = (msg, caption, buttons, icon) => (int)XtraMessageBox.Show(this, msg, caption, (MessageBoxButtons) buttons, (MessageBoxIcon) icon);
Api.View.Default.MessageBoxImpl = (msg, caption, buttons, icon) => (Api.View.DialogResult)(int)XtraMessageBox.Show(this, msg, caption, (MessageBoxButtons)buttons, (MessageBoxIcon)icon);
Api.View.Default.ShowHtmlBoxImpl = ShowHtmlBoxImpl;
var defaultColumns = new List<string>();
foreach (GridColumn col in this.gviewRight.Columns.OrderBy(c => c.VisibleIndex))
@@ -117,6 +118,46 @@ namespace ChanSort.Ui
}
#endregion
#region CreateHtmlBoxImpl
private void ShowHtmlBoxImpl(string html, string title, int width, int height, Action<string> onUrlClick)
{
var dlg = new XtraForm();
dlg.SuspendLayout();
dlg.ClientSize = new Size(width, height);
dlg.MinimizeBox = false;
dlg.MaximizeBox = false;
dlg.StartPosition = FormStartPosition.CenterParent;
dlg.Text = title ?? "";
var lbl = new LabelControl();
lbl.Location = new Point(10, 10);
lbl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom;
lbl.AutoSizeMode = LabelAutoSizeMode.None;
lbl.Appearance.TextOptions.VAlignment = VertAlignment.Top;
lbl.Size = new Size(width - 10 - 10, height - 10 - 32);
lbl.AllowHtmlString = true;
lbl.Appearance.TextOptions.WordWrap = WordWrap.Wrap;
lbl.Text = html;
if (onUrlClick != null)
lbl.HyperlinkClick += (sender, args) => onUrlClick(args.Link);
dlg.Controls.Add(lbl);
var btn = new SimpleButton();
btn.Size = new Size(60, 24);
btn.Location = new Point(width - 70, height - 30);
btn.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
btn.Text = "Ok";
btn.DialogResult = DialogResult.OK;
dlg.Controls.Add(btn);
dlg.ResumeLayout();
dlg.ShowDialog(this);
}
#endregion
internal IList<ISerializerPlugin> Plugins { get; }
internal DataRoot DataRoot { get; private set; }
@@ -619,6 +660,9 @@ namespace ChanSort.Ui
private void InitInitialChannelOrder()
{
if (this.DataRoot.ChannelLists.All(l => l.Count == 0 || l.ReadOnly))
return;
DialogResult res;
var msg = Resources.MainForm_InitInitialChannelOrder_Question;
using (var dlg = new ActionBoxDialog(msg))

View File

@@ -47,7 +47,7 @@ namespace Test.Loader.LG.Binary
public void TestDeletingChannel()
{
var tempFile = TestUtils.DeploymentItem("Test.Loader.LG\\Binary\\LM\\xxLM620s-ZE00001.TLL.in");
var plugin = new LgPlugin();
var plugin = new LgPlugin() { IsTesting = true };
var ser = plugin.CreateSerializer(tempFile);
ser.Load();
var data = ser.DataRoot;
@@ -93,7 +93,7 @@ namespace Test.Loader.LG.Binary
var tllFile = inFile.Replace(".in", ".tll");
File.Delete(tllFile);
File.Move(inFile, tllFile);
RoundtripTest.TestChannelAndFavListEditing(tllFile, new LgPlugin());
RoundtripTest.TestChannelAndFavListEditing(tllFile, new LgPlugin() {IsTesting = true});
}
#endregion

View File

@@ -27,7 +27,8 @@ namespace Test.Loader
var firmwareSize = new Dictionary<int, string>();
foreach(var file in list)
{
if (file.Contains("GlobalClone"))
var lfile = file.ToLowerInvariant();
if (lfile.Contains("globalclone") || lfile.Contains("atsc") || lfile.Contains("broken") || lfile.Contains("bad") || lfile.Contains("incomplete"))
continue;
//Debug.Print("Testing " + file);
try

47
source/build.md Normal file
View File

@@ -0,0 +1,47 @@
*Build environment*
ChanSort is a Microsoft .NET Framework 4.8 application and can be built with Visual Studio 2019.
The user interface is based on Windows Forms and the commercial "DevExpress WinForms" user interface library from Developer Express.
To change and compile the user interface, you need a DevExpress license.
To add/change any of the file loading modules, you don't need a license.
The Visual Studio plug-in "ResX Manager" is used to export and import language specific strings to/from the translation.xls file,
which can be edited by volunteers. Converting the .xls back to .resx and satellite assemblies requires recompilation of all projects.
*Build configurations* (selectable in the Visual Studio Toolbar):
- NoDevExpress_Debug: builds all source projects, except ChanSort and ChanSort.Loader.LG.UI (no license needed)
- All_Debug: builds all source projects (requires a license)
- All_Release: not used (requires a license)
*Run your own build*
The application is designed so that you can add, modify and compile non-UI projects using the "NoDevExpress_Debug" build configuration
and copy precompiled ChanSort.exe and \*.UI.dll files to the ..\Debug folder (e.g. from a release .zip on github.com/ChanSort/releases/).
ChanSort.exe will dynamically load all ChanSort.Loader.*.dll assemblies that it finds in its folder and iterates though classes implementing
ChanSort.Api.ISerializerPlugin until one successfully loads a channel list file.
*Write your own Loader project*
You can add a new project to the solution, open Build / Configuration manager and select your project to be included in the build.
ChanSort will use your ISerializerPlugin implementation to get an instance of your loader class, which must be derived from SerializerBase.
The SerializerBase.DataRoot object is where your loader adds the lists and channels so that the UI can display them.
SerializerBase.DefaultEncoding is the text encoding selected by the user through the UI. If the channel list file contains 8-bit characters
without explicit encoding or a code page, use this encoding. Overide the setter to dynamically re-parse any strings if needed.
SerializerBase.Features controls what kind of operations the UI will offer for the channel list.
Override SerializerBase.GetFileInformation() if you want to display some information to the user through File / Information (or use it for debug info).
The ChanSort.Api.View class can be used by your non-UI project to access some very basic UI functions (message box, action selection).
*Sample code*
If you want to write a loader for a new file format, it's best to look at an existing loader that uses a similar data format:
- Binary files: Samsung.Scm, LG.Binary, Philips.BinarySerializer
- SQLite: Hisense, Panasonic, Samsung.Zip, Toshiba
- XML: Sony, Grundig, LG.GlobalClone.GcXmlSerializer, Philips.XmlSerializer
- JSON: LG.GlobalClone.GcJsonSerializer
- CSV: Sharp, Api.Controller.CsvRefListSerializer
- TXT: M3u, Enigma2, VDR, Api.Controller.TxtRefListSerializer
- Text/Binary: Loader.SatcoDX