diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-20 04:03:05 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-20 04:03:05 +0200 |
| commit | d0dba9752d0a8e787d9ae1d4d25542bd4b386df6 (patch) | |
| tree | b71977215c188d65d61fcfb66e982a8363b4d803 /Software | |
| parent | 7f0b3b209792cb935b9cfca4542c45318a309717 (diff) | |
| download | Tango-d0dba9752d0a8e787d9ae1d4d25542bd4b386df6.tar.gz Tango-d0dba9752d0a8e787d9ae1d4d25542bd4b386df6.zip | |
Implemented priority queues for Transport Layer.
Working on file/folder download.
Diffstat (limited to 'Software')
25 files changed, 6396 insertions, 56 deletions
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs index 20a960243..cba25303e 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -9,6 +11,7 @@ using Tango.Core.Commands; using Tango.FileSystem; using Tango.FSE.Common; using Tango.FSE.Common.Connection; +using Tango.FSE.Common.FileSystem; using static Tango.SharedUI.Controls.NavigationControl; namespace Tango.FSE.PPCConsole.ViewModels @@ -36,20 +39,36 @@ namespace Tango.FSE.PPCConsole.ViewModels set { _drives = value; RaisePropertyChangedAuto(); } } + public ObservableCollection<FileSystemItem> SelectedItems { get; set; } + public ObservableCollection<FileSystemHandler> FileSystemHandlers { get; set; } public RelayCommand NavigateCommand { get; set; } public RelayCommand<FileSystemItem> OpenItemCommand { get; set; } public RelayCommand BackCommand { get; set; } public RelayCommand<String> NavigateSpecialFolderCommand { get; set; } public RelayCommand<String> NavigateToFolderCommand { get; set; } + public RelayCommand<IList<FileSystemItem>> DeleteCommand { get; set; } + public RelayCommand<List<FileSystemItem>> DropCommand { get; set; } + public RelayCommand<List<DragItem>> DragCommand { get; set; } + public RelayCommand<FileSystemHandler> DeleteFileSystemHandlerCommand { get; set; } + public RelayCommand<FileSystemHandler> OpenFileSystemHandlerDestinationCommand { get; set; } + public RelayCommand<FileSystemHandler> RetryFailedFileSystemHandlerCommand { get; set; } + public FileSystemViewVM() { + SelectedItems = new ObservableCollection<FileSystemItem>(); + FileSystemHandlers = new ObservableCollection<FileSystemHandler>(); NavigateCommand = new RelayCommand(NavigateToCurrentPath); OpenItemCommand = new RelayCommand<FileSystemItem>(OpenFileSystemItem); BackCommand = new RelayCommand(NavigateBack, () => !(CurrentItem is FolderItem) || !(CurrentItem as FolderItem).IsRoot); NavigateSpecialFolderCommand = new RelayCommand<string>(NavigateToSpecialFolder); - NavigateToFolderCommand = new RelayCommand<string>(async (x) => await Navigate(x)); + NavigateToFolderCommand = new RelayCommand<string>(async (x) => await Navigate(x)); + DeleteCommand = new RelayCommand<IList<FileSystemItem>>(DeleteSelectedItems); + DragCommand = new RelayCommand<List<DragItem>>(OnItemsDraggedOut); + DeleteFileSystemHandlerCommand = new RelayCommand<FileSystemHandler>(DeleteFileSystemHandler); + OpenFileSystemHandlerDestinationCommand = new RelayCommand<FileSystemHandler>(OpenFileSystemHandlerDestination); + RetryFailedFileSystemHandlerCommand = new RelayCommand<FileSystemHandler>(RetryFailedFileSystemHandler); } private async void NavigateBack() @@ -88,10 +107,83 @@ namespace Tango.FSE.PPCConsole.ViewModels private async void OpenFileSystemItem(FileSystemItem item) { - if (item != null) + if (item == null) return; + + if (item.Type == FileSystemItemType.Folder || item.Type == FileSystemItemType.Drive) { await Navigate(item.Path); } + else if (item.Type == FileSystemItemType.File) + { + //TODO: Download/Open file?... + } + } + + private async void DeleteSelectedItems(IList<FileSystemItem> items) + { + if (items != null && items.Count > 0) + { + if (await NotificationProvider.ShowWarningQuestion("Are you sure you want to delete the selected files/folders?", "DELETE")) + { + //TODO: Delete items + } + } + } + + private async void OnItemsDraggedOut(List<DragItem> items) + { + foreach (var item in items.Where(x => x.FileSystemItem.Type != FileSystemItemType.Drive)) + { + Debug.WriteLine($"Dropped out: {item.FileSystemItem.Name} => {item.Destination}"); + var handler = await FileSystemProvider.Download(item.FileSystemItem, item.Destination); + FileSystemHandlers.Insert(0, handler); + } + } + + private async void DeleteFileSystemHandler(FileSystemHandler handler) + { + if (handler.Status != FileSystemHandlerStatus.Completed && handler.Status != FileSystemHandlerStatus.Failed) + { + if (await NotificationProvider.ShowWarningQuestion($"This item is currently {handler.Status}. Do you wish to abort and delete this item?")) + { + try + { + handler.Abort(); + } + catch { } + + FileSystemHandlers.Remove(handler); + } + } + else + { + FileSystemHandlers.Remove(handler); + } + } + + private void OpenFileSystemHandlerDestination(FileSystemHandler handler) + { + String destination = String.Empty; + + if (File.Exists(handler.Destination) || Directory.Exists(handler.Destination)) + { + destination = handler.Destination; + Process.Start("explorer.exe", string.Format("/select,\"{0}\"", destination)); + } + else + { + destination = Path.GetDirectoryName(handler.Destination); + Process.Start("explorer.exe", destination); + } + } + + private async void RetryFailedFileSystemHandler(FileSystemHandler handler) + { + if (handler.Status == FileSystemHandlerStatus.Failed) + { + var newHandler = await FileSystemProvider.Download(handler.FileSystemItem, Path.GetDirectoryName(handler.Destination)); + FileSystemHandlers.Replace(handler, newHandler); + } } private async void NavigateToSpecialFolder(string folder) diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml index ecc344324..8038ea905 100644 --- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml @@ -114,10 +114,167 @@ </StackPanel> </Border> - <controls:FileSystemControl Margin="10 0 0 0" Grid.Column="2" - CurrentItem="{Binding CurrentItem}" - Mode="{Binding ElementName=listView,Path=SelectedItem.Tag}" - ItemDoubleClickedCommand="{Binding OpenItemCommand}"/> + <Grid Margin="10 0 0 0" Grid.Column="2"> + <Grid.RowDefinitions> + <RowDefinition Height="1*" MinHeight="100" /> + <RowDefinition Height="5" /> + <RowDefinition Height="100" MinHeight="0" /> + </Grid.RowDefinitions> + <controls:FileSystemControl + AllowDrag="True" + AllowDrop="True" + CurrentItem="{Binding CurrentItem}" + Mode="{Binding ElementName=listView,Path=SelectedItem.Tag}" + ItemDoubleClickedCommand="{Binding OpenItemCommand}" + DeleteCommand="{Binding DeleteCommand}" + SelectedItems="{Binding SelectedItems}" + DragCommand="{Binding DragCommand}" + DropCommand="{Binding DropCommand}"/> + + <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Center" /> + + <Grid Grid.Row="2"> + <DockPanel> + <StackPanel DockPanel.Dock="Top" Margin="5" Orientation="Horizontal"> + <material:PackIcon Kind="Download" /> + <material:PackIcon Margin="-2 0 0 0" Kind="Upload" /> + <TextBlock Margin="5 0 0 0" Foreground="{StaticResource FSE_PrimaryAccentBrush}" FontSize="{StaticResource FSE_SmallFontSize}">Transfer Queue</TextBlock> + <TextBlock Margin="10 0 0 0" Foreground="{StaticResource FSE_GrayBrush}" FontSize="{StaticResource FSE_SmallFontSize}"> + <Run>(</Run><Run Text="{Binding FileSystemHandlers.Count,Mode=OneWay}"></Run><Run>)</Run> + </TextBlock> + </StackPanel> + <Border CornerRadius="3" BorderThickness="3" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}"> + <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> + <ItemsControl ItemsSource="{Binding FileSystemHandlers}" HorizontalContentAlignment="Stretch" FontSize="10" Background="Transparent"> + <ItemsControl.ItemTemplate> + <DataTemplate> + <Border Margin="5 5 5 0" CornerRadius="3" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" BorderThickness="2" Padding="10"> + <DockPanel Height="40"> + <Grid DockPanel.Dock="Left" Width="40"> + <Image HorizontalAlignment="Left" Source="{Binding FileSystemItem.Icon}" RenderOptions.BitmapScalingMode="Fant" Stretch="Uniform" /> + <Ellipse Margin="-5 -5 0 0" Fill="{StaticResource FSE_PrimaryBackgroundDarkBrush}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="20" Height="20" /> + <material:PackIcon Margin="-3 -3 0 0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="15" Height="15"> + <material:PackIcon.Style> + <Style TargetType="material:PackIcon"> + <Setter Property="Kind" Value="Hourglass"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_GrayBrush}"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Status}" Value="Downloading"> + <Setter Property="Kind" Value="Download"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Uploading"> + <Setter Property="Kind" Value="Upload"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Paused"> + <Setter Property="Kind" Value="Pause"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_OrangeBrush}"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Failed"> + <Setter Property="Kind" Value="Alert"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_ErrorBrush}"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Aborted"> + <Setter Property="Kind" Value="Alert"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_WarningBrush}"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Completed"> + <Setter Property="Kind" Value="Check"></Setter> + <Setter Property="Foreground" Value="{StaticResource FSE_SuccessBrush}"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </material:PackIcon.Style> + </material:PackIcon> + </Grid> + + <Grid DockPanel.Dock="Right" Width="140" Margin="20 0 0 0"> + <UniformGrid Columns="3"> + <Grid> + <controls:ToggleIconButton Width="24" Height="24" UncheckedForeground="{StaticResource FSE_OrangeBrush}" CheckedForeground="{StaticResource FSE_GreenBrush}" UncheckedIcon="Pause" CheckedIcon="Play" Cursor="Hand" IsChecked="{Binding IsPaused,Mode=TwoWay}"> + <controls:ToggleIconButton.Style> + <Style TargetType="controls:ToggleIconButton" BasedOn="{StaticResource {x:Type controls:ToggleIconButton}}"> + <Setter Property="IsEnabled" Value="False"></Setter> + <Setter Property="Visibility" Value="Visible"></Setter> + <Setter Property="Opacity" Value="0.2"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Status}" Value="Downloading"> + <Setter Property="IsEnabled" Value="True"></Setter> + <Setter Property="Opacity" Value="1"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Uploading"> + <Setter Property="IsEnabled" Value="True"></Setter> + <Setter Property="Opacity" Value="1"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Paused"> + <Setter Property="IsEnabled" Value="True"></Setter> + <Setter Property="Opacity" Value="1"></Setter> + </DataTrigger> + <DataTrigger Binding="{Binding Status}" Value="Failed"> + <Setter Property="Visibility" Value="Hidden"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </controls:ToggleIconButton.Style> + </controls:ToggleIconButton> + <controls:IconButton Icon="Restart" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.RetryFailedFileSystemHandlerCommand}" CommandParameter="{Binding}"> + <controls:IconButton.Style> + <Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}"> + <Setter Property="Visibility" Value="Hidden"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Status}" Value="Failed"> + <Setter Property="Visibility" Value="Visible"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </controls:IconButton.Style> + </controls:IconButton> + </Grid> + <controls:IconButton Icon="FolderOpen" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.OpenFileSystemHandlerDestinationCommand}" CommandParameter="{Binding}" /> + <controls:IconButton Icon="DeleteForever" Foreground="{StaticResource FSE_RedBrush}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.DeleteFileSystemHandlerCommand}" CommandParameter="{Binding}" /> + </UniformGrid> + </Grid> + + <Grid Margin="10 0 0 0"> + <DockPanel> + <TextBlock FontSize="{StaticResource FSE_SmallFontSize}" DockPanel.Dock="Top" HorizontalAlignment="Left" Text="{Binding FileSystemItem.Name}" TextTrimming="CharacterEllipsis"></TextBlock> + <TextBlock Foreground="{StaticResource FSE_GrayBrush}" Margin="0 2 0 0" DockPanel.Dock="Top" HorizontalAlignment="Left" TextTrimming="CharacterEllipsis"> + <Run Text="{Binding Position,Mode=OneWay,Converter={StaticResource ByteArrayToFileSizeConverter}}"></Run> + <Run>/</Run> + <Run Text="{Binding Length,Mode=OneWay,Converter={StaticResource ByteArrayToFileSizeConverter}}"></Run> + </TextBlock> + + <Border VerticalAlignment="Bottom" Height="5" Background="{StaticResource FSE_PrimaryBackgroundBrush}"> + <ProgressBar Height="Auto" Minimum="0" Maximum="{Binding Length}" Value="{Binding Position}"> + <ProgressBar.Style> + <Style TargetType="ProgressBar" BasedOn="{StaticResource {x:Type ProgressBar}}"> + <Setter Property="IsIndeterminate" Value="False"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Status}" Value="Pending"> + <Setter Property="IsIndeterminate" Value="True"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </ProgressBar.Style> + </ProgressBar> + </Border> + + + </DockPanel> + + <TextBlock FontSize="{StaticResource FSE_SmallFontSize}" HorizontalAlignment="Right" VerticalAlignment="Top" Text="{Binding Status}"></TextBlock> + </Grid> + </DockPanel> + </Border> + </DataTemplate> + </ItemsControl.ItemTemplate> + </ItemsControl> + </ScrollViewer> + </Border> + </DockPanel> + </Grid> + </Grid> </Grid> </Grid> </Grid> diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs index 1b1e5f747..48fb35c0f 100644 --- a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs +++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs @@ -4,12 +4,14 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Core; +using Tango.FileSystem; namespace Tango.FSE.Common.FileSystem { public class FileSystemHandler : ExtendedObject { private Action _abortAction; + private FileSystemHandlerStatus _statusBeforePause; public FileSystemHandlerType Type { get; set; } @@ -19,9 +21,31 @@ namespace Tango.FSE.Common.FileSystem get { return _status; } set { - if (_status != value) + _status = value; + RaisePropertyChangedAuto(); + } + } + + private bool _isPaused; + public bool IsPaused + { + get { return _isPaused; } + set + { + if (_isPaused != value) { - _status = value; + _isPaused = value; + + if (_isPaused) + { + _statusBeforePause = Status; + Status = FileSystemHandlerStatus.Paused; + } + else + { + Status = _statusBeforePause; + } + RaisePropertyChangedAuto(); } } @@ -48,12 +72,13 @@ namespace Tango.FSE.Common.FileSystem set { _failedException = value; RaisePropertyChangedAuto(); } } - public String Name { get; set; } + public FileSystemItem FileSystemItem { get; set; } public String Destination { get; set; } + public String OperationId { get; set; } - public FileSystemHandler(String name, String destination, Action abortAction) + public FileSystemHandler(FileSystemItem fileSystemItem, String destination, Action abortAction) { - Name = name; + FileSystemItem = fileSystemItem; Destination = destination; _abortAction = abortAction; } @@ -62,7 +87,11 @@ namespace Tango.FSE.Common.FileSystem { Position = position; Length = length; - Status = (Type == FileSystemHandlerType.FileDownload || Type == FileSystemHandlerType.FolderDownload) ? FileSystemHandlerStatus.Downloading : FileSystemHandlerStatus.Uploading; + + if (!IsPaused) + { + Status = (Type == FileSystemHandlerType.FileDownload || Type == FileSystemHandlerType.FolderDownload) ? FileSystemHandlerStatus.Downloading : FileSystemHandlerStatus.Uploading; + } } internal void RaiseFailed(Exception exception) @@ -71,6 +100,11 @@ namespace Tango.FSE.Common.FileSystem FailedException = exception; } + internal void RaiseAborted() + { + Status = FileSystemHandlerStatus.Aborted; + } + internal void RaiseCompleted() { Status = FileSystemHandlerStatus.Completed; diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs index fe3a030a1..c495b5dc0 100644 --- a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs +++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs @@ -11,6 +11,7 @@ namespace Tango.FSE.Common.FileSystem Pending, Downloading, Uploading, + Paused, Failed, Aborted, Completed diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs index f9f08c6a4..6eb05b70d 100644 --- a/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs +++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs @@ -4,6 +4,7 @@ using System.IO; using System.IO.Compression; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; using Tango.Core; using Tango.Core.Threading; @@ -63,46 +64,26 @@ namespace Tango.FSE.UI.FileSystem return FileSystemItem.FromDTO(response.FileSystemItem) as IFileSystemContainer; } - public async Task<FileSystemHandler> Download(FileSystemItem item, string localTargetFolder) + public Task<FileSystemHandler> Download(FileSystemItem item, string localTargetFolder) { String operationId = String.Empty; String destination = String.Empty; long downloadLength = 0; + bool aborted = false; + + FileSystemHandler handler = null; if (item.Type == FileSystemItemType.File) { destination = Path.Combine(localTargetFolder, item.Name); - - var response = await _machineProvider.MachineOperator.SendGenericRequest<FileDownloadRequest, FileDownloadResponse>( - new FileDownloadRequest() - { - Path = item.Path - }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) }); - - operationId = response.OperationId; - downloadLength = response.Length; } - else if (item.Type == FileSystemItemType.Folder) + else if (item.Type == FileSystemItemType.File) { destination = Path.Combine(localTargetFolder, item.Name); - - var response = await _machineProvider.MachineOperator.SendGenericRequest<FolderDownloadRequest, FolderDownloadResponse>( - new FolderDownloadRequest() - { - Path = item.Path - }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) }); - - operationId = response.OperationId; - downloadLength = response.Length; - } - else - { - throw new NotSupportedException("The requested file system item is not supported for downloading."); } - bool aborted = false; - FileSystemHandler handler = new FileSystemHandler(item.Name, destination, async () => + handler = new FileSystemHandler(item, destination, async () => { if (!aborted) { @@ -119,25 +100,73 @@ namespace Tango.FSE.UI.FileSystem { LogManager.Log(ex, "Error aborting the download operation."); } + finally + { + handler.RaiseAborted(); + } } }); - long position = 0; - ThreadFactory.StartNew(async () => { + try + { + if (item.Type == FileSystemItemType.File) + { + var response = await _machineProvider.MachineOperator.SendGenericRequest<FileDownloadRequest, FileDownloadResponse>( + new FileDownloadRequest() + { + Path = item.Path + }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) }); + + operationId = response.OperationId; + downloadLength = response.Length; + handler.OperationId = operationId; + } + else if (item.Type == FileSystemItemType.Folder) + { + var response = await _machineProvider.MachineOperator.SendGenericRequest<FolderDownloadRequest, FolderDownloadResponse>( + new FolderDownloadRequest() + { + Path = item.Path + }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(60) }); + + operationId = response.OperationId; + downloadLength = response.Length; + handler.OperationId = operationId; + } + else + { + throw new NotSupportedException("The requested file system item is not supported for downloading."); + } + } + catch (Exception ex) + { + handler.RaiseFailed(ex); + return; + } + + long position = 0; + var tempFile = TemporaryManager.CreateFile(); while (position < downloadLength && !aborted) { + if (handler.IsPaused) + { + Thread.Sleep(1000); + continue; + } + try { var response = await _machineProvider.MachineOperator.SendGenericRequest<ChunkDownloadRequest, ChunkDownloadResponse>( new ChunkDownloadRequest() { + MaxChunkSize = 1024 * 10, OperationId = operationId, Position = position, - }); + }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(30), Priority = QueuePriority.Low }); using (FileStream fs = new FileStream(tempFile, FileMode.Append)) { @@ -176,7 +205,7 @@ namespace Tango.FSE.UI.FileSystem handler.RaiseCompleted(); }); - return handler; + return Task.FromResult(handler); } public Task<FileSystemHandler> Upload(string sourcePath, string remoteTargetFolder) diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs index ffbba2e7a..804ad0036 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs @@ -7,6 +7,7 @@ using System.Text; using System.Threading.Tasks; using Tango.Core; using Tango.Core.DI; +using Tango.Core.IO; using Tango.FileSystem; using Tango.FileSystem.Network; using Tango.Integration.ExternalBridge; @@ -29,6 +30,7 @@ namespace Tango.PPC.Common.FileSystem public FileSystemOperationMode Mode { get; set; } public String Id { get; set; } public String Path { get; set; } + public bool IsPathTempZip { get; set; } public FileSystemOperation(FileSystemOperationMode mode, String path) { @@ -109,6 +111,38 @@ namespace Tango.PPC.Common.FileSystem } } + [ExternalBridgeRequestHandlerMethod(typeof(FolderDownloadRequest))] + public async void OnFolderDownloadRequest(FolderDownloadRequest request, String token, ExternalBridgeReceiver receiver) + { + try + { + if (!Directory.Exists(request.Path)) + { + await receiver.SendErrorResponse(new FileNotFoundException("Could not find the specified directory."), token); + return; + } + + var tempFile = TemporaryManager.CreateImaginaryFile(); + + ZipFile.CreateFromDirectory(request.Path, tempFile); + + FileSystemOperation operation = new FileSystemOperation(FileSystemOperationMode.Download, tempFile); + operation.IsPathTempZip = true; + + _operations.Add(operation.Id, operation); + + await receiver.SendGenericResponse(new FileDownloadResponse() + { + OperationId = operation.Id, + Length = new FileInfo(request.Path).Length + }, token); + } + catch (Exception ex) + { + await receiver.SendErrorResponse(ex, token); + } + } + [ExternalBridgeRequestHandlerMethod(typeof(ChunkUploadRequest))] public async void OnChunkUploadRequest(ChunkUploadRequest request, String token, ExternalBridgeReceiver receiver) { @@ -185,6 +219,13 @@ namespace Tango.PPC.Common.FileSystem Directory.Delete(operation.Path, true); } } + else if (operation.IsPathTempZip) + { + if (File.Exists(operation.Path)) + { + File.Delete(operation.Path); + } + } await receiver.SendGenericResponse(new AbortOperationResponse(), token); } diff --git a/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs new file mode 100644 index 000000000..927a20d41 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs @@ -0,0 +1,593 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace Priority_Queue +{ + /// <summary> + /// An implementation of a min-Priority Queue using a heap. Has O(1) .Contains()! + /// See https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/wiki/Getting-Started for more information + /// </summary> + /// <typeparam name="T">The values in the queue. Must extend the FastPriorityQueueNode class</typeparam> + public sealed class FastPriorityQueue<T> : IFixedSizePriorityQueue<T, float> + where T : FastPriorityQueueNode + { + private int _numNodes; + private T[] _nodes; + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param> + public FastPriorityQueue(int maxNodes) + { +#if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("New queue size cannot be smaller than 1"); + } +#endif + + _numNodes = 0; + _nodes = new T[maxNodes + 1]; + } + + /// <summary> + /// Returns the number of nodes in the queue. + /// O(1) + /// </summary> + public int Count + { + get + { + return _numNodes; + } + } + + /// <summary> + /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize), + /// attempting to enqueue another item will cause undefined behavior. O(1) + /// </summary> + public int MaxSize + { + get + { + return _nodes.Length - 1; + } + } + + /// <summary> + /// Removes every node from the queue. + /// O(n) (So, don't do this often!) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Clear() + { + Array.Clear(_nodes, 1, _numNodes); + _numNodes = 0; + } + + /// <summary> + /// Returns (in O(1)!) whether the given node is in the queue. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(1) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public bool Contains(T node) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if(node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length) + { + throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually? Or add this node to another queue?"); + } +#endif + + return (_nodes[node.QueueIndex] == node); + } + + /// <summary> + /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken arbitrarily. + /// If the queue is full, the result is undefined. + /// If the node is already enqueued, the result is undefined. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Enqueue(T node, float priority) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if(_numNodes >= _nodes.Length - 1) + { + throw new InvalidOperationException("Queue is full - node cannot be added: " + node); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if (Contains(node)) + { + throw new InvalidOperationException("Node is already enqueued: " + node); + } + node.Queue = this; +#endif + + node.Priority = priority; + _numNodes++; + _nodes[_numNodes] = node; + node.QueueIndex = _numNodes; + CascadeUp(node); + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void CascadeUp(T node) + { + //aka Heapify-up + int parent; + if(node.QueueIndex > 1) + { + parent = node.QueueIndex >> 1; + T parentNode = _nodes[parent]; + if(HasHigherOrEqualPriority(parentNode, node)) + return; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + else + { + return; + } + while(parent > 1) + { + parent >>= 1; + T parentNode = _nodes[parent]; + if(HasHigherOrEqualPriority(parentNode, node)) + break; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + _nodes[node.QueueIndex] = node; + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void CascadeDown(T node) + { + //aka Heapify-down + int finalQueueIndex = node.QueueIndex; + int childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + return; + } + + // Check if the left-child is higher-priority than the current node + int childRightIndex = childLeftIndex + 1; + T childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + return; + } + // Check if the left-child is higher-priority than the right-child + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + return; + } + else + { + // Check if the right-child is higher-priority than the current node + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + return; + } + } + + while(true) + { + childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + + // Check if the left-child is higher-priority than the current node + childRightIndex = childLeftIndex + 1; + childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + break; + } + // Check if the left-child is higher-priority than the right-child + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + else + { + // Check if the right-child is higher-priority than the current node + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + } + } + } + + /// <summary> + /// Returns true if 'higher' has higher priority than 'lower', false otherwise. + /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private bool HasHigherPriority(T higher, T lower) + { + return (higher.Priority < lower.Priority); + } + + /// <summary> + /// Returns true if 'higher' has higher priority than 'lower', false otherwise. + /// Note that calling HasHigherOrEqualPriority(node, node) (ie. both arguments the same node) will return true + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private bool HasHigherOrEqualPriority(T higher, T lower) + { + return (higher.Priority <= lower.Priority); + } + + /// <summary> + /// Removes the head of the queue and returns it. + /// If queue is empty, result is undefined + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public T Dequeue() + { +#if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call Dequeue() on an empty queue"); + } + + if(!IsValidQueue()) + { + throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" + + "Or add the same node to two different queues?)"); + } +#endif + + T returnMe = _nodes[1]; + //If the node is already the last node, we can remove it immediately + if(_numNodes == 1) + { + _nodes[1] = null; + _numNodes = 0; + return returnMe; + } + + //Swap the node with the last node + T formerLastNode = _nodes[_numNodes]; + _nodes[1] = formerLastNode; + formerLastNode.QueueIndex = 1; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) down + CascadeDown(formerLastNode); + return returnMe; + } + + /// <summary> + /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain. + /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior + /// O(n) + /// </summary> + public void Resize(int maxNodes) + { +#if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("Queue size cannot be smaller than 1"); + } + + if (maxNodes < _numNodes) + { + throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes"); + } +#endif + + T[] newArray = new T[maxNodes + 1]; + int highestIndexToCopy = Math.Min(maxNodes, _numNodes); + Array.Copy(_nodes, newArray, highestIndexToCopy + 1); + _nodes = newArray; + } + + /// <summary> + /// Returns the head of the queue, without removing it (use Dequeue() for that). + /// If the queue is empty, behavior is undefined. + /// O(1) + /// </summary> + public T First + { + get + { +#if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call .First on an empty queue"); + } +#endif + + return _nodes[1]; + } + } + + /// <summary> + /// This method must be called on a node every time its priority changes while it is in the queue. + /// <b>Forgetting to call this method will result in a corrupted queue!</b> + /// Calling this method on a node not in the queue results in undefined behavior + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void UpdatePriority(T node, float priority) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node); + } +#endif + + node.Priority = priority; + OnNodeUpdated(node); + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void OnNodeUpdated(T node) + { + //Bubble the updated node up or down as appropriate + int parentIndex = node.QueueIndex >> 1; + + if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex])) + { + CascadeUp(node); + } + else + { + //Note that CascadeDown will be called if parentNode == node (that is, node is the root) + CascadeDown(node); + } + } + + /// <summary> + /// Removes a node from the queue. The node does not need to be the head of the queue. + /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Remove(T node) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Remove was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node); + } +#endif + + //If the node is already the last node, we can remove it immediately + if(node.QueueIndex == _numNodes) + { + _nodes[_numNodes] = null; + _numNodes--; + return; + } + + //Swap the node with the last node + T formerLastNode = _nodes[_numNodes]; + _nodes[node.QueueIndex] = formerLastNode; + formerLastNode.QueueIndex = node.QueueIndex; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate + OnNodeUpdated(formerLastNode); + } + + /// <summary> + /// By default, nodes that have been previously added to one queue cannot be added to another queue. + /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue + /// If the node is currently in the queue or belongs to another queue, the result is undefined + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void ResetNode(T node) + { +#if DEBUG + if (node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.ResetNode was called on a node from another queue"); + } + if (Contains(node)) + { + throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue"); + } + + node.Queue = null; +#endif + + node.QueueIndex = 0; + } + + public IEnumerator<T> GetEnumerator() + { +#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5 + IEnumerable<T> e = new ArraySegment<T>(_nodes, 1, _numNodes); + return e.GetEnumerator(); +#else + for(int i = 1; i <= _numNodes; i++) + yield return _nodes[i]; +#endif + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// <summary> + /// <b>Should not be called in production code.</b> + /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue. + /// </summary> + public bool IsValidQueue() + { + for(int i = 1; i < _nodes.Length; i++) + { + if(_nodes[i] != null) + { + int childLeftIndex = 2 * i; + if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i])) + return false; + + int childRightIndex = childLeftIndex + 1; + if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i])) + return false; + } + } + return true; + } + } +}
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs new file mode 100644 index 000000000..54b0573ec --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs @@ -0,0 +1,25 @@ +using System; + +namespace Priority_Queue +{ + public class FastPriorityQueueNode + { + /// <summary> + /// The Priority to insert this node at. Must be set BEFORE adding a node to the queue (ideally just once, in the node's constructor). + /// Should not be manually edited once the node has been enqueued - use queue.UpdatePriority() instead + /// </summary> + public float Priority { get; protected internal set; } + + /// <summary> + /// Represents the current position in the queue + /// </summary> + public int QueueIndex { get; internal set; } + +#if DEBUG + /// <summary> + /// The queue this node is tied to. Used only for debug builds. + /// </summary> + public object Queue { get; internal set; } +#endif + } +} diff --git a/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs new file mode 100644 index 000000000..7687ba213 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs @@ -0,0 +1,602 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace Priority_Queue +{ + /// <summary> + /// A copy of StablePriorityQueue which also has generic priority-type + /// </summary> + /// <typeparam name="TItem">The values in the queue. Must extend the GenericPriorityQueueNode class</typeparam> + /// <typeparam name="TPriority">The priority-type. Must extend IComparable<TPriority></typeparam> + public sealed class GenericPriorityQueue<TItem, TPriority> : IFixedSizePriorityQueue<TItem, TPriority> + where TItem : GenericPriorityQueueNode<TPriority> + where TPriority : IComparable<TPriority> + { + private int _numNodes; + private TItem[] _nodes; + private long _numNodesEverEnqueued; + private readonly Comparison<TPriority> _comparer; + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param> + public GenericPriorityQueue(int maxNodes) : this(maxNodes, Comparer<TPriority>.Default) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param> + /// <param name="comparer">The comparer used to compare TPriority values.</param> + public GenericPriorityQueue(int maxNodes, IComparer<TPriority> comparer) : this(maxNodes, comparer.Compare) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param> + /// <param name="comparer">The comparison function to use to compare TPriority values</param> + public GenericPriorityQueue(int maxNodes, Comparison<TPriority> comparer) + { +#if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("New queue size cannot be smaller than 1"); + } +#endif + + _numNodes = 0; + _nodes = new TItem[maxNodes + 1]; + _numNodesEverEnqueued = 0; + _comparer = comparer; + } + + /// <summary> + /// Returns the number of nodes in the queue. + /// O(1) + /// </summary> + public int Count + { + get + { + return _numNodes; + } + } + + /// <summary> + /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize), + /// attempting to enqueue another item will cause undefined behavior. O(1) + /// </summary> + public int MaxSize + { + get + { + return _nodes.Length - 1; + } + } + + /// <summary> + /// Removes every node from the queue. + /// O(n) (So, don't do this often!) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Clear() + { + Array.Clear(_nodes, 1, _numNodes); + _numNodes = 0; + } + + /// <summary> + /// Returns (in O(1)!) whether the given node is in the queue. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(1) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public bool Contains(TItem node) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if (node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length) + { + throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually?"); + } +#endif + + return (_nodes[node.QueueIndex] == node); + } + + /// <summary> + /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out. + /// If the queue is full, the result is undefined. + /// If the node is already enqueued, the result is undefined. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Enqueue(TItem node, TPriority priority) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if(_numNodes >= _nodes.Length - 1) + { + throw new InvalidOperationException("Queue is full - node cannot be added: " + node); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if (Contains(node)) + { + throw new InvalidOperationException("Node is already enqueued: " + node); + } + node.Queue = this; +#endif + + node.Priority = priority; + _numNodes++; + _nodes[_numNodes] = node; + node.QueueIndex = _numNodes; + node.InsertionIndex = _numNodesEverEnqueued++; + CascadeUp(node); + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void CascadeUp(TItem node) + { + //aka Heapify-up + int parent; + if (node.QueueIndex > 1) + { + parent = node.QueueIndex >> 1; + TItem parentNode = _nodes[parent]; + if(HasHigherPriority(parentNode, node)) + return; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + else + { + return; + } + while(parent > 1) + { + parent >>= 1; + TItem parentNode = _nodes[parent]; + if(HasHigherPriority(parentNode, node)) + break; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + _nodes[node.QueueIndex] = node; + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void CascadeDown(TItem node) + { + //aka Heapify-down + int finalQueueIndex = node.QueueIndex; + int childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + return; + } + + // Check if the left-child is higher-priority than the current node + int childRightIndex = childLeftIndex + 1; + TItem childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + return; + } + // Check if the left-child is higher-priority than the right-child + TItem childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + return; + } + else + { + // Check if the right-child is higher-priority than the current node + TItem childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + return; + } + } + + while(true) + { + childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + + // Check if the left-child is higher-priority than the current node + childRightIndex = childLeftIndex + 1; + childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + break; + } + // Check if the left-child is higher-priority than the right-child + TItem childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + else + { + // Check if the right-child is higher-priority than the current node + TItem childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + } + } + } + + /// <summary> + /// Returns true if 'higher' has higher priority than 'lower', false otherwise. + /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private bool HasHigherPriority(TItem higher, TItem lower) + { + var cmp = _comparer(higher.Priority, lower.Priority); + return (cmp < 0 || (cmp == 0 && higher.InsertionIndex < lower.InsertionIndex)); + } + + /// <summary> + /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it. + /// If queue is empty, result is undefined + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public TItem Dequeue() + { +#if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call Dequeue() on an empty queue"); + } + + if(!IsValidQueue()) + { + throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" + + "Or add the same node to two different queues?)"); + } +#endif + + TItem returnMe = _nodes[1]; + //If the node is already the last node, we can remove it immediately + if(_numNodes == 1) + { + _nodes[1] = null; + _numNodes = 0; + return returnMe; + } + + //Swap the node with the last node + TItem formerLastNode = _nodes[_numNodes]; + _nodes[1] = formerLastNode; + formerLastNode.QueueIndex = 1; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) down + CascadeDown(formerLastNode); + return returnMe; + } + + /// <summary> + /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain. + /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior + /// O(n) + /// </summary> + public void Resize(int maxNodes) + { +#if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("Queue size cannot be smaller than 1"); + } + + if (maxNodes < _numNodes) + { + throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes"); + } +#endif + + TItem[] newArray = new TItem[maxNodes + 1]; + int highestIndexToCopy = Math.Min(maxNodes, _numNodes); + Array.Copy(_nodes, newArray, highestIndexToCopy + 1); + _nodes = newArray; + } + + /// <summary> + /// Returns the head of the queue, without removing it (use Dequeue() for that). + /// If the queue is empty, behavior is undefined. + /// O(1) + /// </summary> + public TItem First + { + get + { +#if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call .First on an empty queue"); + } +#endif + + return _nodes[1]; + } + } + + /// <summary> + /// This method must be called on a node every time its priority changes while it is in the queue. + /// <b>Forgetting to call this method will result in a corrupted queue!</b> + /// Calling this method on a node not in the queue results in undefined behavior + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void UpdatePriority(TItem node, TPriority priority) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node); + } +#endif + + node.Priority = priority; + OnNodeUpdated(node); + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void OnNodeUpdated(TItem node) + { + //Bubble the updated node up or down as appropriate + int parentIndex = node.QueueIndex >> 1; + + if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex])) + { + CascadeUp(node); + } + else + { + //Note that CascadeDown will be called if parentNode == node (that is, node is the root) + CascadeDown(node); + } + } + + /// <summary> + /// Removes a node from the queue. The node does not need to be the head of the queue. + /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Remove(TItem node) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Remove was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node); + } +#endif + + //If the node is already the last node, we can remove it immediately + if(node.QueueIndex == _numNodes) + { + _nodes[_numNodes] = null; + _numNodes--; + return; + } + + //Swap the node with the last node + TItem formerLastNode = _nodes[_numNodes]; + _nodes[node.QueueIndex] = formerLastNode; + formerLastNode.QueueIndex = node.QueueIndex; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate + OnNodeUpdated(formerLastNode); + } + + /// <summary> + /// By default, nodes that have been previously added to one queue cannot be added to another queue. + /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void ResetNode(TItem node) + { +#if DEBUG + if (node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.ResetNode was called on a node from another queue"); + } + if (Contains(node)) + { + throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue"); + } + + node.Queue = null; +#endif + + node.QueueIndex = 0; + } + + + public IEnumerator<TItem> GetEnumerator() + { +#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5 + IEnumerable<TItem> e = new ArraySegment<TItem>(_nodes, 1, _numNodes); + return e.GetEnumerator(); +#else + for(int i = 1; i <= _numNodes; i++) + yield return _nodes[i]; +#endif + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// <summary> + /// <b>Should not be called in production code.</b> + /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue. + /// </summary> + public bool IsValidQueue() + { + for(int i = 1; i < _nodes.Length; i++) + { + if(_nodes[i] != null) + { + int childLeftIndex = 2 * i; + if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i])) + return false; + + int childRightIndex = childLeftIndex + 1; + if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i])) + return false; + } + } + return true; + } + } +} diff --git a/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs new file mode 100644 index 000000000..5a53ed24e --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs @@ -0,0 +1,29 @@ +namespace Priority_Queue +{ + public class GenericPriorityQueueNode<TPriority> + { + /// <summary> + /// The Priority to insert this node at. Must be set BEFORE adding a node to the queue (ideally just once, in the node's constructor). + /// Should not be manually edited once the node has been enqueued - use queue.UpdatePriority() instead + /// </summary> + public TPriority Priority { get; protected internal set; } + + /// <summary> + /// Represents the current position in the queue + /// </summary> + public int QueueIndex { get; internal set; } + + /// <summary> + /// Represents the order the node was inserted in + /// </summary> + public long InsertionIndex { get; internal set; } + + +#if DEBUG + /// <summary> + /// The queue this node is tied to. Used only for debug builds. + /// </summary> + public object Queue { get; internal set; } +#endif + } +} diff --git a/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs new file mode 100644 index 000000000..e95f7c29b --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Priority_Queue +{ + /// <summary> + /// A helper-interface only needed to make writing unit tests a bit easier (hence the 'internal' access modifier) + /// </summary> + internal interface IFixedSizePriorityQueue<TItem, in TPriority> : IPriorityQueue<TItem, TPriority> + where TPriority : IComparable<TPriority> + { + /// <summary> + /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain. + /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior + /// </summary> + void Resize(int maxNodes); + + /// <summary> + /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize), + /// attempting to enqueue another item will cause undefined behavior. + /// </summary> + int MaxSize { get; } + + /// <summary> + /// By default, nodes that have been previously added to one queue cannot be added to another queue. + /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue + /// </summary> + void ResetNode(TItem node); + } +} diff --git a/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs new file mode 100644 index 000000000..a5053e955 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; + +namespace Priority_Queue +{ + /// <summary> + /// The IPriorityQueue interface. This is mainly here for purists, and in case I decide to add more implementations later. + /// For speed purposes, it is actually recommended that you *don't* access the priority queue through this interface, since the JIT can + /// (theoretically?) optimize method calls from concrete-types slightly better. + /// </summary> + public interface IPriorityQueue<TItem, in TPriority> : IEnumerable<TItem> + where TPriority : IComparable<TPriority> + { + /// <summary> + /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out. + /// See implementation for how duplicates are handled. + /// </summary> + void Enqueue(TItem node, TPriority priority); + + /// <summary> + /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it. + /// </summary> + TItem Dequeue(); + + /// <summary> + /// Removes every node from the queue. + /// </summary> + void Clear(); + + /// <summary> + /// Returns whether the given node is in the queue. + /// </summary> + bool Contains(TItem node); + + /// <summary> + /// Removes a node from the queue. The node does not need to be the head of the queue. + /// </summary> + void Remove(TItem node); + + /// <summary> + /// Call this method to change the priority of a node. + /// </summary> + void UpdatePriority(TItem node, TPriority priority); + + /// <summary> + /// Returns the head of the queue, without removing it (use Dequeue() for that). + /// </summary> + TItem First { get; } + + /// <summary> + /// Returns the number of nodes in the queue. + /// </summary> + int Count { get; } + } +} diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj new file mode 100644 index 000000000..8b02157f1 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{1531C1EA-BD53-41D1-A34B-CFCDF79D2651}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>Priority_Queue</RootNamespace> + <AssemblyName>Priority Queue</AssemblyName> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants> + <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants> + <TargetFrameworkProfile> + </TargetFrameworkProfile> + </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> + <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants> + <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants> + <Prefer32Bit>false</Prefer32Bit> + </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> + <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants> + <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants> + <Prefer32Bit>false</Prefer32Bit> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 4.5|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <DefineConstants>TRACE;NET_VERSION_4_5</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <Prefer32Bit>false</Prefer32Bit> + <OutputPath>bin\Release\net45\</OutputPath> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <DocumentationFile>bin\Release\net45\Priority Queue.xml</DocumentationFile> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release 2.0|AnyCPU'"> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <Prefer32Bit>false</Prefer32Bit> + <OutputPath>bin\Release\net20\</OutputPath> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <DocumentationFile>bin\Release\net20\Priority Queue.xml</DocumentationFile> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="GenericPriorityQueue.cs" /> + <Compile Include="GenericPriorityQueueNode.cs" /> + <Compile Include="IFixedSizePriorityQueue.cs" /> + <Compile Include="StablePriorityQueue.cs" /> + <Compile Include="FastPriorityQueue.cs" /> + <Compile Include="StablePriorityQueueNode.cs" /> + <Compile Include="IPriorityQueue.cs" /> + <Compile Include="FastPriorityQueueNode.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="SimplePriorityQueue.cs" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec new file mode 100644 index 000000000..94ab70f4d --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<package > + <metadata> + <id>OptimizedPriorityQueue</id> + <version>4.2.0</version> + <title>Highly Optimized Priority Queue</title> + <authors>BlueRaja</authors> + <owners>BlueRaja</owners> + <licenseUrl>https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/blob/master/LICENSE.txt</licenseUrl> + <projectUrl>https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp</projectUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>A highly optimized Priority Queue for path-finding and related applications</description> + <releaseNotes>Speed improvements; added ResetNode(); included IEqualityComparer in SimplePriorityQueue to avoid boxing</releaseNotes> + <copyright>Copyright 2018</copyright> + <tags>C# priority-queue pathfinding optimized</tags> + </metadata> + <files> + <file src="bin\Release\net20\Priority Queue.dll" target="lib\net20\Priority Queue.dll" /> + <file src="bin\Release\net20\Priority Queue.pdb" target="lib\net20\Priority Queue.pdb" /> + <file src="bin\Release\net20\Priority Queue.xml" target="lib\net20\Priority Queue.xml" /> + + <file src="bin\Release\net45\Priority Queue.dll" target="lib\net45\Priority Queue.dll" /> + <file src="bin\Release\net45\Priority Queue.pdb" target="lib\net45\Priority Queue.pdb" /> + <file src="bin\Release\net45\Priority Queue.xml" target="lib\net45\Priority Queue.xml" /> + + <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.dll" target="lib\netstandard1.0\Priority Queue.dll" /> + <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.pdb" target="lib\netstandard1.0\Priority Queue.pdb" /> + <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.xml" target="lib\netstandard1.0\Priority Queue.xml" /> + + <file src="..\Priority Queue PCL\bin\Release\Priority Queue.dll" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.dll" /> + <file src="..\Priority Queue PCL\bin\Release\Priority Queue.pdb" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.pdb" /> + <file src="..\Priority Queue PCL\bin\Release\Priority Queue.xml" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.xml" /> + + <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.dll" target="lib\net35-unity full v3.5\Priority Queue.dll" /> + <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.pdb" target="lib\net35-unity full v3.5\Priority Queue.pdb" /> + <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.xml" target="lib\net35-unity full v3.5\Priority Queue.xml" /> + + <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.dll" target="lib\net35-unity subset v3.5\Priority Queue.dll" /> + <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.pdb" target="lib\net35-unity subset v3.5\Priority Queue.pdb" /> + <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.xml" target="lib\net35-unity subset v3.5\Priority Queue.xml" /> + </files> +</package>
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs b/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7143261f2 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs @@ -0,0 +1,38 @@ +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("Highly Optimized Priority Queue")] +[assembly: AssemblyDescription("A highly optimized Priority Queue for path-finding and related applications")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Highly Optimized Priority Queue")] +[assembly: AssemblyCopyright("Copyright © BlueRaja 2017")] +[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("3eee6b54-af8a-494b-9121-3d46ed09a58b")] + +[assembly: InternalsVisibleToAttribute("Priority Queue Tests")] + +// 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("4.2.0")] +[assembly: AssemblyFileVersion("4.2.0")]
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs new file mode 100644 index 000000000..0d35ff1ac --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs @@ -0,0 +1,588 @@ +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Priority_Queue +{ + /// <summary> + /// A simplified priority queue implementation. Is stable, auto-resizes, and thread-safe, at the cost of being slightly slower than + /// FastPriorityQueue + /// Methods tagged as O(1) or O(log n) are assuming there are no duplicates. Duplicates may increase the algorithmic complexity. + /// </summary> + /// <typeparam name="TItem">The type to enqueue</typeparam> + /// <typeparam name="TPriority">The priority-type to use for nodes. Must extend IComparable<TPriority></typeparam> + public class SimplePriorityQueue<TItem, TPriority> : IPriorityQueue<TItem, TPriority> + where TPriority : IComparable<TPriority> + { + private class SimpleNode : GenericPriorityQueueNode<TPriority> + { + public TItem Data { get; private set; } + + public SimpleNode(TItem data) + { + Data = data; + } + } + + private const int INITIAL_QUEUE_SIZE = 10; + private readonly GenericPriorityQueue<SimpleNode, TPriority> _queue; + private readonly Dictionary<TItem, IList<SimpleNode>> _itemToNodesCache; + private readonly IList<SimpleNode> _nullNodesCache; + + #region Constructors + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + public SimplePriorityQueue() : this(Comparer<TPriority>.Default, EqualityComparer<TItem>.Default) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="priorityComparer">The comparer used to compare TPriority values. Defaults to Comparer<TPriority>.default</param> + public SimplePriorityQueue(IComparer<TPriority> priorityComparer) : this(priorityComparer.Compare, EqualityComparer<TItem>.Default) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="priorityComparer">The comparison function to use to compare TPriority values</param> + public SimplePriorityQueue(Comparison<TPriority> priorityComparer) : this(priorityComparer, EqualityComparer<TItem>.Default) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param> + public SimplePriorityQueue(IEqualityComparer<TItem> itemEquality) : this(Comparer<TPriority>.Default, itemEquality) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="priorityComparer">The comparer used to compare TPriority values. Defaults to Comparer<TPriority>.default</param> + /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param> + public SimplePriorityQueue(IComparer<TPriority> priorityComparer, IEqualityComparer<TItem> itemEquality) : this(priorityComparer.Compare, itemEquality) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="priorityComparer">The comparison function to use to compare TPriority values</param> + /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param> + public SimplePriorityQueue(Comparison<TPriority> priorityComparer, IEqualityComparer<TItem> itemEquality) + { + _queue = new GenericPriorityQueue<SimpleNode, TPriority>(INITIAL_QUEUE_SIZE, priorityComparer); + _itemToNodesCache = new Dictionary<TItem, IList<SimpleNode>>(itemEquality); + _nullNodesCache = new List<SimpleNode>(); + } + #endregion + + /// <summary> + /// Given an item of type T, returns the existing SimpleNode in the queue + /// </summary> + private SimpleNode GetExistingNode(TItem item) + { + if (item == null) + { + return _nullNodesCache.Count > 0 ? _nullNodesCache[0] : null; + } + + IList<SimpleNode> nodes; + if (!_itemToNodesCache.TryGetValue(item, out nodes)) + { + return null; + } + return nodes[0]; + } + + /// <summary> + /// Adds an item to the Node-cache to allow for many methods to be O(1) or O(log n) + /// </summary> + private void AddToNodeCache(SimpleNode node) + { + if (node.Data == null) + { + _nullNodesCache.Add(node); + return; + } + + IList<SimpleNode> nodes; + if (!_itemToNodesCache.TryGetValue(node.Data, out nodes)) + { + nodes = new List<SimpleNode>(); + _itemToNodesCache[node.Data] = nodes; + } + nodes.Add(node); + } + + /// <summary> + /// Removes an item to the Node-cache to allow for many methods to be O(1) or O(log n) (assuming no duplicates) + /// </summary> + private void RemoveFromNodeCache(SimpleNode node) + { + if (node.Data == null) + { + _nullNodesCache.Remove(node); + return; + } + + IList<SimpleNode> nodes; + if (!_itemToNodesCache.TryGetValue(node.Data, out nodes)) + { + return; + } + nodes.Remove(node); + if (nodes.Count == 0) + { + _itemToNodesCache.Remove(node.Data); + } + } + + /// <summary> + /// Returns the number of nodes in the queue. + /// O(1) + /// </summary> + public int Count + { + get + { + lock(_queue) + { + return _queue.Count; + } + } + } + + /// <summary> + /// Returns the head of the queue, without removing it (use Dequeue() for that). + /// Throws an exception when the queue is empty. + /// O(1) + /// </summary> + public TItem First + { + get + { + lock(_queue) + { + if(_queue.Count <= 0) + { + throw new InvalidOperationException("Cannot call .First on an empty queue"); + } + + return _queue.First.Data; + } + } + } + + /// <summary> + /// Removes every node from the queue. + /// O(n) + /// </summary> + public void Clear() + { + lock(_queue) + { + _queue.Clear(); + _itemToNodesCache.Clear(); + _nullNodesCache.Clear(); + } + } + + /// <summary> + /// Returns whether the given item is in the queue. + /// O(1) + /// </summary> + public bool Contains(TItem item) + { + lock(_queue) + { + return item == null ? _nullNodesCache.Count > 0 : _itemToNodesCache.ContainsKey(item); + } + } + + /// <summary> + /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it. + /// If queue is empty, throws an exception + /// O(log n) + /// </summary> + public TItem Dequeue() + { + lock(_queue) + { + if(_queue.Count <= 0) + { + throw new InvalidOperationException("Cannot call Dequeue() on an empty queue"); + } + + SimpleNode node =_queue.Dequeue(); + RemoveFromNodeCache(node); + return node.Data; + } + } + + /// <summary> + /// Enqueue the item with the given priority, without calling lock(_queue) or AddToNodeCache(node) + /// </summary> + /// <param name="item"></param> + /// <param name="priority"></param> + /// <returns></returns> + private SimpleNode EnqueueNoLockOrCache(TItem item, TPriority priority) + { + SimpleNode node = new SimpleNode(item); + if (_queue.Count == _queue.MaxSize) + { + _queue.Resize(_queue.MaxSize * 2 + 1); + } + _queue.Enqueue(node, priority); + return node; + } + + /// <summary> + /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out. + /// This queue automatically resizes itself, so there's no concern of the queue becoming 'full'. + /// Duplicates and null-values are allowed. + /// O(log n) + /// </summary> + public void Enqueue(TItem item, TPriority priority) + { + lock(_queue) + { + IList<SimpleNode> nodes; + if (item == null) + { + nodes = _nullNodesCache; + } + else if (!_itemToNodesCache.TryGetValue(item, out nodes)) + { + nodes = new List<SimpleNode>(); + _itemToNodesCache[item] = nodes; + } + SimpleNode node = EnqueueNoLockOrCache(item, priority); + nodes.Add(node); + } + } + + /// <summary> + /// Enqueue a node to the priority queue if it doesn't already exist. Lower values are placed in front. Ties are broken by first-in-first-out. + /// This queue automatically resizes itself, so there's no concern of the queue becoming 'full'. Null values are allowed. + /// Returns true if the node was successfully enqueued; false if it already exists. + /// O(log n) + /// </summary> + public bool EnqueueWithoutDuplicates(TItem item, TPriority priority) + { + lock(_queue) + { + IList<SimpleNode> nodes; + if (item == null) + { + if (_nullNodesCache.Count > 0) + { + return false; + } + nodes = _nullNodesCache; + } + else if (_itemToNodesCache.ContainsKey(item)) + { + return false; + } + else + { + nodes = new List<SimpleNode>(); + _itemToNodesCache[item] = nodes; + } + SimpleNode node = EnqueueNoLockOrCache(item, priority); + nodes.Add(node); + return true; + } + } + + /// <summary> + /// Removes an item from the queue. The item does not need to be the head of the queue. + /// If the item is not in the queue, an exception is thrown. If unsure, check Contains() first. + /// If multiple copies of the item are enqueued, only the first one is removed. + /// O(log n) + /// </summary> + public void Remove(TItem item) + { + lock(_queue) + { + SimpleNode removeMe; + IList<SimpleNode> nodes; + if (item == null) + { + if (_nullNodesCache.Count == 0) + { + throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + item); + } + removeMe = _nullNodesCache[0]; + nodes = _nullNodesCache; + } + else + { + if (!_itemToNodesCache.TryGetValue(item, out nodes)) + { + throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + item); + } + removeMe = nodes[0]; + if (nodes.Count == 1) + { + _itemToNodesCache.Remove(item); + } + } + _queue.Remove(removeMe); + nodes.Remove(removeMe); + } + } + + /// <summary> + /// Call this method to change the priority of an item. + /// Calling this method on a item not in the queue will throw an exception. + /// If the item is enqueued multiple times, only the first one will be updated. + /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able + /// to update all of them, please wrap your items in a wrapper class so they can be distinguished). + /// O(log n) + /// </summary> + public void UpdatePriority(TItem item, TPriority priority) + { + lock (_queue) + { + SimpleNode updateMe = GetExistingNode(item); + if (updateMe == null) + { + throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + item); + } + _queue.UpdatePriority(updateMe, priority); + } + } + + /// <summary> + /// Returns the priority of the given item. + /// Calling this method on a item not in the queue will throw an exception. + /// If the item is enqueued multiple times, only the priority of the first will be returned. + /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able + /// to query all their priorities, please wrap your items in a wrapper class so they can be distinguished). + /// O(1) + /// </summary> + public TPriority GetPriority(TItem item) + { + lock (_queue) + { + SimpleNode findMe = GetExistingNode(item); + if(findMe == null) + { + throw new InvalidOperationException("Cannot call GetPriority() on a node which is not enqueued: " + item); + } + return findMe.Priority; + } + } + + #region Try* methods for multithreading + /// Get the head of the queue, without removing it (use TryDequeue() for that). + /// Useful for multi-threading, where the queue may become empty between calls to Contains() and First + /// Returns true if successful, false otherwise + /// O(1) + public bool TryFirst(out TItem first) + { + if (_queue.Count > 0) + { + lock (_queue) + { + if (_queue.Count > 0) + { + first = _queue.First.Data; + return true; + } + } + } + + first = default(TItem); + return false; + } + + /// <summary> + /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and sets it to first. + /// Useful for multi-threading, where the queue may become empty between calls to Contains() and Dequeue() + /// Returns true if successful; false if queue was empty + /// O(log n) + /// </summary> + public bool TryDequeue(out TItem first) + { + if (_queue.Count > 0) + { + lock (_queue) + { + if (_queue.Count > 0) + { + SimpleNode node = _queue.Dequeue(); + first = node.Data; + RemoveFromNodeCache(node); + return true; + } + } + } + + first = default(TItem); + return false; + } + + /// <summary> + /// Attempts to remove an item from the queue. The item does not need to be the head of the queue. + /// Useful for multi-threading, where the queue may become empty between calls to Contains() and Remove() + /// Returns true if the item was successfully removed, false if it wasn't in the queue. + /// If multiple copies of the item are enqueued, only the first one is removed. + /// O(log n) + /// </summary> + public bool TryRemove(TItem item) + { + lock(_queue) + { + SimpleNode removeMe; + IList<SimpleNode> nodes; + if (item == null) + { + if (_nullNodesCache.Count == 0) + { + return false; + } + removeMe = _nullNodesCache[0]; + nodes = _nullNodesCache; + } + else + { + if (!_itemToNodesCache.TryGetValue(item, out nodes)) + { + return false; + } + removeMe = nodes[0]; + if (nodes.Count == 1) + { + _itemToNodesCache.Remove(item); + } + } + _queue.Remove(removeMe); + nodes.Remove(removeMe); + return true; + } + } + + /// <summary> + /// Call this method to change the priority of an item. + /// Useful for multi-threading, where the queue may become empty between calls to Contains() and UpdatePriority() + /// If the item is enqueued multiple times, only the first one will be updated. + /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able + /// to update all of them, please wrap your items in a wrapper class so they can be distinguished). + /// Returns true if the item priority was updated, false otherwise. + /// O(log n) + /// </summary> + public bool TryUpdatePriority(TItem item, TPriority priority) + { + lock(_queue) + { + SimpleNode updateMe = GetExistingNode(item); + if(updateMe == null) + { + return false; + } + _queue.UpdatePriority(updateMe, priority); + return true; + } + } + + /// <summary> + /// Attempt to get the priority of the given item. + /// Useful for multi-threading, where the queue may become empty between calls to Contains() and GetPriority() + /// If the item is enqueued multiple times, only the priority of the first will be returned. + /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able + /// to query all their priorities, please wrap your items in a wrapper class so they can be distinguished). + /// Returns true if the item was found in the queue, false otherwise + /// O(1) + /// </summary> + public bool TryGetPriority(TItem item, out TPriority priority) + { + lock(_queue) + { + SimpleNode findMe = GetExistingNode(item); + if(findMe == null) + { + priority = default(TPriority); + return false; + } + priority = findMe.Priority; + return true; + } + } + #endregion + + public IEnumerator<TItem> GetEnumerator() + { + List<TItem> queueData = new List<TItem>(); + lock (_queue) + { + //Copy to a separate list because we don't want to 'yield return' inside a lock + foreach(var node in _queue) + { + queueData.Add(node.Data); + } + } + + return queueData.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public bool IsValidQueue() + { + lock(_queue) + { + // Check all items in cache are in the queue + foreach (IList<SimpleNode> nodes in _itemToNodesCache.Values) + { + foreach (SimpleNode node in nodes) + { + if (!_queue.Contains(node)) + { + return false; + } + } + } + + // Check all items in queue are in cache + foreach (SimpleNode node in _queue) + { + if (GetExistingNode(node.Data) == null) + { + return false; + } + } + + // Check queue structure itself + return _queue.IsValidQueue(); + } + } + } + + /// <summary> + /// A simplified priority queue implementation. Is stable, auto-resizes, and thread-safe, at the cost of being slightly slower than + /// FastPriorityQueue + /// This class is kept here for backwards compatibility. It's recommended you use SimplePriorityQueue<TItem, TPriority> + /// </summary> + /// <typeparam name="TItem">The type to enqueue</typeparam> + public class SimplePriorityQueue<TItem> : SimplePriorityQueue<TItem, float> + { + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + public SimplePriorityQueue() { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="comparer">The comparer used to compare priority values. Defaults to Comparer<float>.default</param> + public SimplePriorityQueue(IComparer<float> comparer) : base(comparer) { } + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="comparer">The comparison function to use to compare priority values</param> + public SimplePriorityQueue(Comparison<float> comparer) : base(comparer) { } + } +}
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs new file mode 100644 index 000000000..442b2dbcc --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace Priority_Queue +{ + /// <summary> + /// A copy of FastPriorityQueue which is also stable - that is, when two nodes are enqueued with the same priority, they + /// are always dequeued in the same order. + /// See https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/wiki/Getting-Started for more information + /// </summary> + /// <typeparam name="T">The values in the queue. Must extend the StablePriorityQueueNode class</typeparam> + public sealed class StablePriorityQueue<T> : IFixedSizePriorityQueue<T, float> + where T : StablePriorityQueueNode + { + private int _numNodes; + private T[] _nodes; + private long _numNodesEverEnqueued; + + /// <summary> + /// Instantiate a new Priority Queue + /// </summary> + /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param> + public StablePriorityQueue(int maxNodes) + { + #if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("New queue size cannot be smaller than 1"); + } + #endif + + _numNodes = 0; + _nodes = new T[maxNodes + 1]; + _numNodesEverEnqueued = 0; + } + + /// <summary> + /// Returns the number of nodes in the queue. + /// O(1) + /// </summary> + public int Count + { + get + { + return _numNodes; + } + } + + /// <summary> + /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize), + /// attempting to enqueue another item will cause undefined behavior. O(1) + /// </summary> + public int MaxSize + { + get + { + return _nodes.Length - 1; + } + } + + /// <summary> + /// Removes every node from the queue. + /// O(n) (So, don't do this often!) + /// </summary> + #if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + public void Clear() + { + Array.Clear(_nodes, 1, _numNodes); + _numNodes = 0; + } + + /// <summary> + /// Returns (in O(1)!) whether the given node is in the queue. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(1) + /// </summary> + #if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + public bool Contains(T node) + { + #if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if (node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length) + { + throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually?"); + } + #endif + + return (_nodes[node.QueueIndex] == node); + } + + /// <summary> + /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out. + /// If the queue is full, the result is undefined. + /// If the node is already enqueued, the result is undefined. + /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called + /// O(log n) + /// </summary> + #if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + public void Enqueue(T node, float priority) + { + #if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if(_numNodes >= _nodes.Length - 1) + { + throw new InvalidOperationException("Queue is full - node cannot be added: " + node); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first"); + } + if (Contains(node)) + { + throw new InvalidOperationException("Node is already enqueued: " + node); + } + node.Queue = this; + #endif + + node.Priority = priority; + _numNodes++; + _nodes[_numNodes] = node; + node.QueueIndex = _numNodes; + node.InsertionIndex = _numNodesEverEnqueued++; + CascadeUp(node); + } + + //Performance appears to be slightly better when this is NOT inlined o_O + #if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + private void CascadeUp(T node) + { + //aka Heapify-up + int parent; + if(node.QueueIndex > 1) + { + parent = node.QueueIndex >> 1; + T parentNode = _nodes[parent]; + if(HasHigherPriority(parentNode, node)) + return; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + else + { + return; + } + while(parent > 1) + { + parent >>= 1; + T parentNode = _nodes[parent]; + if(HasHigherPriority(parentNode, node)) + break; + + //Node has lower priority value, so move parent down the heap to make room + _nodes[node.QueueIndex] = parentNode; + parentNode.QueueIndex = node.QueueIndex; + + node.QueueIndex = parent; + } + _nodes[node.QueueIndex] = node; + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void CascadeDown(T node) + { + //aka Heapify-down + int finalQueueIndex = node.QueueIndex; + int childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + return; + } + + // Check if the left-child is higher-priority than the current node + int childRightIndex = childLeftIndex + 1; + T childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + return; + } + // Check if the left-child is higher-priority than the right-child + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + return; + } + else + { + // Check if the right-child is higher-priority than the current node + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + return; + } + } + + while(true) + { + childLeftIndex = 2 * finalQueueIndex; + + // If leaf node, we're done + if(childLeftIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + + // Check if the left-child is higher-priority than the current node + childRightIndex = childLeftIndex + 1; + childLeft = _nodes[childLeftIndex]; + if(HasHigherPriority(childLeft, node)) + { + // Check if there is a right child. If not, swap and finish. + if(childRightIndex > _numNodes) + { + node.QueueIndex = childLeftIndex; + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + _nodes[childLeftIndex] = node; + break; + } + // Check if the left-child is higher-priority than the right-child + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childLeft, childRight)) + { + // left is highest, move it up and continue + childLeft.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childLeft; + finalQueueIndex = childLeftIndex; + } + else + { + // right is even higher, move it up and continue + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + } + // Not swapping with left-child, does right-child exist? + else if(childRightIndex > _numNodes) + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + else + { + // Check if the right-child is higher-priority than the current node + T childRight = _nodes[childRightIndex]; + if(HasHigherPriority(childRight, node)) + { + childRight.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = childRight; + finalQueueIndex = childRightIndex; + } + // Neither child is higher-priority than current, so finish and stop. + else + { + node.QueueIndex = finalQueueIndex; + _nodes[finalQueueIndex] = node; + break; + } + } + } + } + + /// <summary> + /// Returns true if 'higher' has higher priority than 'lower', false otherwise. + /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + private bool HasHigherPriority(T higher, T lower) + { + return (higher.Priority < lower.Priority || + (higher.Priority == lower.Priority && higher.InsertionIndex < lower.InsertionIndex)); + } + + /// <summary> + /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it. + /// If queue is empty, result is undefined + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public T Dequeue() + { + #if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call Dequeue() on an empty queue"); + } + + if(!IsValidQueue()) + { + throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" + + "Or add the same node to two different queues?)"); + } + #endif + + T returnMe = _nodes[1]; + //If the node is already the last node, we can remove it immediately + if(_numNodes == 1) + { + _nodes[1] = null; + _numNodes = 0; + return returnMe; + } + + //Swap the node with the last node + T formerLastNode = _nodes[_numNodes]; + _nodes[1] = formerLastNode; + formerLastNode.QueueIndex = 1; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) down + CascadeDown(formerLastNode); + return returnMe; + } + + /// <summary> + /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain. + /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior + /// O(n) + /// </summary> + public void Resize(int maxNodes) + { + #if DEBUG + if (maxNodes <= 0) + { + throw new InvalidOperationException("Queue size cannot be smaller than 1"); + } + + if (maxNodes < _numNodes) + { + throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes"); + } + #endif + + T[] newArray = new T[maxNodes + 1]; + int highestIndexToCopy = Math.Min(maxNodes, _numNodes); + Array.Copy(_nodes, newArray, highestIndexToCopy + 1); + _nodes = newArray; + } + + /// <summary> + /// Returns the head of the queue, without removing it (use Dequeue() for that). + /// If the queue is empty, behavior is undefined. + /// O(1) + /// </summary> + public T First + { + get + { + #if DEBUG + if(_numNodes <= 0) + { + throw new InvalidOperationException("Cannot call .First on an empty queue"); + } + #endif + + return _nodes[1]; + } + } + + /// <summary> + /// This method must be called on a node every time its priority changes while it is in the queue. + /// <b>Forgetting to call this method will result in a corrupted queue!</b> + /// Calling this method on a node not in the queue results in undefined behavior + /// O(log n) + /// </summary> + #if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + #endif + public void UpdatePriority(T node, float priority) + { + #if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node); + } + #endif + + node.Priority = priority; + OnNodeUpdated(node); + } + +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + private void OnNodeUpdated(T node) + { + //Bubble the updated node up or down as appropriate + int parentIndex = node.QueueIndex >> 1; + + if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex])) + { + CascadeUp(node); + } + else + { + //Note that CascadeDown will be called if parentNode == node (that is, node is the root) + CascadeDown(node); + } + } + + /// <summary> + /// Removes a node from the queue. The node does not need to be the head of the queue. + /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first + /// O(log n) + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void Remove(T node) + { +#if DEBUG + if(node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.Remove was called on a node from another queue"); + } + if (!Contains(node)) + { + throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node); + } +#endif + + //If the node is already the last node, we can remove it immediately + if(node.QueueIndex == _numNodes) + { + _nodes[_numNodes] = null; + _numNodes--; + return; + } + + //Swap the node with the last node + T formerLastNode = _nodes[_numNodes]; + _nodes[node.QueueIndex] = formerLastNode; + formerLastNode.QueueIndex = node.QueueIndex; + _nodes[_numNodes] = null; + _numNodes--; + + //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate + OnNodeUpdated(formerLastNode); + } + + /// <summary> + /// By default, nodes that have been previously added to one queue cannot be added to another queue. + /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue + /// </summary> +#if NET_VERSION_4_5 + [MethodImpl(MethodImplOptions.AggressiveInlining)] +#endif + public void ResetNode(T node) + { +#if DEBUG + if (node == null) + { + throw new ArgumentNullException("node"); + } + if (node.Queue != null && !Equals(node.Queue)) + { + throw new InvalidOperationException("node.ResetNode was called on a node from another queue"); + } + if (Contains(node)) + { + throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue"); + } + + node.Queue = null; +#endif + + node.QueueIndex = 0; + } + + + public IEnumerator<T> GetEnumerator() + { +#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5 + IEnumerable<T> e = new ArraySegment<T>(_nodes, 1, _numNodes); + return e.GetEnumerator(); +#else + for(int i = 1; i <= _numNodes; i++) + yield return _nodes[i]; +#endif + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// <summary> + /// <b>Should not be called in production code.</b> + /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue. + /// </summary> + public bool IsValidQueue() + { + for(int i = 1; i < _nodes.Length; i++) + { + if(_nodes[i] != null) + { + int childLeftIndex = 2 * i; + if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i])) + return false; + + int childRightIndex = childLeftIndex + 1; + if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i])) + return false; + } + } + return true; + } + } +}
\ No newline at end of file diff --git a/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs new file mode 100644 index 000000000..c794aa0d0 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs @@ -0,0 +1,10 @@ +namespace Priority_Queue +{ + public class StablePriorityQueueNode : FastPriorityQueueNode + { + /// <summary> + /// Represents the order the node was inserted in + /// </summary> + public long InsertionIndex { get; internal set; } + } +} diff --git a/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs b/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs new file mode 100644 index 000000000..dcc71a4ef --- /dev/null +++ b/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Core +{ + public enum QueuePriority + { + Standard, + High, + Low + } + + public class PriorityProducerConsumerQueue<T> + { + private ProducerConsumerQueue<T> _lowPriorityCollection; + private ProducerConsumerQueue<T> _standardPriorityCollection; + private ProducerConsumerQueue<T> _highPriorityCollection; + private ProducerConsumerQueue<T>[] _collections; + + public PriorityProducerConsumerQueue() + { + _lowPriorityCollection = new ProducerConsumerQueue<T>(); + _standardPriorityCollection = new ProducerConsumerQueue<T>(); + _highPriorityCollection = new ProducerConsumerQueue<T>(); + _collections = new ProducerConsumerQueue<T>[] { _highPriorityCollection, _standardPriorityCollection, _lowPriorityCollection }; + } + + /// <summary> + /// Enqueues the specified item. + /// </summary> + /// <param name="item">The item.</param> + public void BlockEnqueue(T item, QueuePriority priority = QueuePriority.Standard) + { + switch (priority) + { + case QueuePriority.Low: + _lowPriorityCollection.Add(item); + break; + case QueuePriority.Standard: + _standardPriorityCollection.Add(item); + break; + case QueuePriority.High: + _highPriorityCollection.Add(item); + break; + } + } + + /// <summary> + /// Blocks until an item is available for dequeuing. + /// </summary> + /// <returns></returns> + public T BlockDequeue() + { + T item; + int index = BlockingCollection<T>.TakeFromAny(_collections, out item); + return item; + } + } +} diff --git a/Software/Visual_Studio/Tango.Core/Tango.Core.csproj b/Software/Visual_Studio/Tango.Core/Tango.Core.csproj index b4496a368..d37259b58 100644 --- a/Software/Visual_Studio/Tango.Core/Tango.Core.csproj +++ b/Software/Visual_Studio/Tango.Core/Tango.Core.csproj @@ -98,6 +98,7 @@ <Compile Include="ExtensionMethods\ZipArchiveExtensions.cs" /> <Compile Include="IO\KnownFolders.cs" /> <Compile Include="Json\ProtobufContractResolver.cs" /> + <Compile Include="PriorityProducerConsumerQueue.cs" /> <Compile Include="Threading\ActionTimer.cs" /> <Compile Include="Threading\IntervalMessageDispatcher.cs" /> <Compile Include="Threading\TaskSequencer.cs" /> @@ -207,7 +208,7 @@ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> + <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> </VisualStudio> </ProjectExtensions> <Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" /> diff --git a/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs b/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs index 7e22c7b46..d35ad108f 100644 --- a/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs +++ b/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs @@ -17,6 +17,8 @@ namespace Tango.Transport public String TransportComponentName { get; set; } + public QueuePriority Priority { get; set; } + /// <summary> /// Gets or sets a value indicating whether this instance is multi response. /// </summary> diff --git a/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs b/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs index 255a566a7..3910745dc 100644 --- a/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs +++ b/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.Core; namespace Tango.Transport { @@ -11,5 +12,6 @@ namespace Tango.Transport public TimeSpan? Timeout { get; set; } public bool ShouldLog { get; set; } public bool Immediate { get; set; } + public QueuePriority Priority { get; set; } } } diff --git a/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs b/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs index 44115d99a..79940757d 100644 --- a/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs +++ b/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.Core; using Tango.PMR.Common; namespace Tango.Transport @@ -14,5 +15,6 @@ namespace Tango.Transport public String ErrorMessage { get; set; } public bool ShouldLog { get; set; } public bool Immediate { get; set; } + public QueuePriority Priority { get; set; } } } diff --git a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs index 73f573fc7..3672baf63 100644 --- a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs +++ b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs @@ -41,7 +41,7 @@ namespace Tango.Transport } private const int MESSAGE_TOKEN_LENGTH = 36; - private ProducerConsumerQueue<TransportMessageBase> _sendingQueue; + private PriorityProducerConsumerQueue<TransportMessageBase> _sendingQueue; private ConcurrentList<TransportMessageBase> _pendingRequests; private ProducerConsumerQueue<byte[]> _arrivedResponses; private Thread _pushThread; @@ -202,7 +202,7 @@ namespace Tango.Transport _pendingRequests.Clear(); _pendingResponses.Clear(); _arrivedResponses = new ProducerConsumerQueue<byte[]>(); - _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>(); + _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>(); } if (oldAdapter != null) @@ -457,7 +457,7 @@ namespace Tango.Transport ComponentName = "Not Set"; Encoder = new ProtoEncoder(); _pendingResponses = new Dictionary<string, PendingResponse>(); - _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>(); + _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>(); _pendingRequests = new ConcurrentList<TransportMessageBase>(); _arrivedResponses = new ProducerConsumerQueue<byte[]>(); _requestHandlers = new List<RequestHandler>(); @@ -485,7 +485,7 @@ namespace Tango.Transport /// </summary> public void ClearQueues() { - _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>(); + _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>(); _pendingRequests = new ConcurrentList<TransportMessageBase>(); _arrivedResponses = new ProducerConsumerQueue<byte[]>(); } @@ -559,6 +559,7 @@ namespace Tango.Transport TransportMessage<IMessage> message = new TransportMessage<IMessage>(container.Token, request, TransportMessageDirection.Request, () => container.ToByteArray(), source); message.ShouldLog = config.ShouldLog; message.Immidiate = config.Immediate; + message.Priority = config.Priority; message.TransportComponentName = GetExtendedComponentName(); message.ActivateTimeout = () => @@ -608,6 +609,7 @@ namespace Tango.Transport TransportMessage<MessageContainer> message = new TransportMessage<MessageContainer>(container.Token, container, TransportMessageDirection.Request, () => container.ToByteArray(), source); message.ShouldLog = config.ShouldLog; message.Immidiate = config.Immediate; + message.Priority = config.Priority; message.TransportComponentName = GetExtendedComponentName(); message.ActivateTimeout = () => @@ -659,6 +661,7 @@ namespace Tango.Transport TransportMessage<TangoMessage<Response>> message = new TransportMessage<TangoMessage<Response>>(request.Container.Token, request, TransportMessageDirection.Request, () => Encoder.Encode(request), source); message.ShouldLog = config.ShouldLog; message.Immidiate = config.Immediate; + message.Priority = config.Priority; message.TransportComponentName = GetExtendedComponentName(); message.ActivateTimeout = () => @@ -719,6 +722,7 @@ namespace Tango.Transport ContinuesResponseSubject = subject, ShouldLog = config.ShouldLog, Immidiate = config.Immediate, + Priority = config.Priority, TransportComponentName = GetExtendedComponentName(), }; @@ -781,6 +785,7 @@ namespace Tango.Transport ContinuesResponseSubject = subject, ShouldLog = config.ShouldLog, Immidiate = config.Immediate, + Priority = config.Priority, TransportComponentName = GetExtendedComponentName(), }; @@ -863,6 +868,7 @@ namespace Tango.Transport ContinuesResponseSubject = subject, ShouldLog = config.ShouldLog, Immidiate = config.Immediate, + Priority = config.Priority, TransportComponentName = GetExtendedComponentName(), }; @@ -1176,6 +1182,7 @@ namespace Tango.Transport TransportMessage<object> message = new TransportMessage<object>(token, response, TransportMessageDirection.Response, () => Encoder.Encode(response), source); message.ShouldLog = config.ShouldLog; message.Immidiate = config.Immediate; + message.Priority = config.Priority; EnqueueMessageOut(message); return source.Task; } @@ -1278,7 +1285,7 @@ namespace Tango.Transport /// <param name="message">The message.</param> private void EnqueueMessageOut(TransportMessageBase message) { - _sendingQueue.BlockEnqueue(message); + _sendingQueue.BlockEnqueue(message, message.Priority); } /// <summary> @@ -1575,7 +1582,10 @@ namespace Tango.Transport LogManager.Log($"{GetExtendedComponentName()}: Submitting keep alive response...", LogCategory.Debug); try { - SendResponse<KeepAliveResponse>(new KeepAliveResponse(), container.Token); + SendResponse<KeepAliveResponse>(new KeepAliveResponse(), container.Token, new TransportResponseConfig() + { + Priority = QueuePriority.High + }); } catch { } } @@ -1638,7 +1648,11 @@ namespace Tango.Transport if (_arrivedResponses.Count == 0) { retryCounter--; - var response = SendRequest<KeepAliveRequest, KeepAliveResponse>(new KeepAliveRequest(), new TransportRequestConfig() { Timeout = KeepAliveTimeout }).Result; + var response = SendRequest<KeepAliveRequest, KeepAliveResponse>(new KeepAliveRequest(), new TransportRequestConfig() + { + Timeout = KeepAliveTimeout, + Priority = QueuePriority.High + }).Result; retryCounter = KeepAliveRetries; } else diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln index 476ebe1fd..42e7d8f3d 100644 --- a/Software/Visual_Studio/Tango.sln +++ b/Software/Visual_Studio/Tango.sln @@ -369,6 +369,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.SystemInfo", "Tango.S EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.FileSystem", "Tango.FileSystem\Tango.FileSystem.csproj", "{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Priority Queue", "SideChains\Priority Queue\Priority Queue.csproj", "{1531C1EA-BD53-41D1-A34B-CFCDF79D2651}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution AppVeyor|Any CPU = AppVeyor|Any CPU @@ -386,6 +388,16 @@ Global DefaultBuild|ARM64 = DefaultBuild|ARM64 DefaultBuild|x64 = DefaultBuild|x64 DefaultBuild|x86 = DefaultBuild|x86 + Release 2.0|Any CPU = Release 2.0|Any CPU + Release 2.0|ARM = Release 2.0|ARM + Release 2.0|ARM64 = Release 2.0|ARM64 + Release 2.0|x64 = Release 2.0|x64 + Release 2.0|x86 = Release 2.0|x86 + Release 4.5|Any CPU = Release 4.5|Any CPU + Release 4.5|ARM = Release 4.5|ARM + Release 4.5|ARM64 = Release 4.5|ARM64 + Release 4.5|x64 = Release 4.5|x64 + Release 4.5|x86 = Release 4.5|x86 Release|Any CPU = Release|Any CPU Release|ARM = Release|ARM Release|ARM64 = Release|ARM64 @@ -423,6 +435,26 @@ Global {40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x64.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x86.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x64.Build.0 = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x86.Build.0 = Release|Any CPU {40073806-914E-4E78-97AB-FA9639308EBE}.Release|Any CPU.ActiveCfg = Release|Any CPU {40073806-914E-4E78-97AB-FA9639308EBE}.Release|Any CPU.Build.0 = Release|Any CPU {40073806-914E-4E78-97AB-FA9639308EBE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -463,6 +495,26 @@ Global {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x64.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x86.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x64.Build.0 = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x86.Build.0 = Release|Any CPU {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|Any CPU.ActiveCfg = Release|Any CPU {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|Any CPU.Build.0 = Release|Any CPU {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -503,6 +555,26 @@ Global {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x64.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x86.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x64.Build.0 = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x86.Build.0 = Release|Any CPU {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|Any CPU.ActiveCfg = Release|Any CPU {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|Any CPU.Build.0 = Release|Any CPU {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -543,6 +615,26 @@ Global {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x64.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x86.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x64.Build.0 = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x86.Build.0 = Release|Any CPU {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|Any CPU.Build.0 = Release|Any CPU {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|ARM.ActiveCfg = Release|Any CPU @@ -583,6 +675,26 @@ Global {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x64.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x86.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x64.Build.0 = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x86.Build.0 = Release|Any CPU {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|Any CPU.ActiveCfg = Release|Any CPU {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|Any CPU.Build.0 = Release|Any CPU {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|ARM.ActiveCfg = Release|Any CPU @@ -623,6 +735,26 @@ Global {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x64.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x86.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x64.Build.0 = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x86.Build.0 = Release|Any CPU {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|Any CPU.ActiveCfg = Release|Any CPU {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|ARM.ActiveCfg = Release|Any CPU {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|ARM.Build.0 = Release|Any CPU @@ -662,6 +794,26 @@ Global {E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x64.Build.0 = Debug|Any CPU {E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x64.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x86.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x64.Build.0 = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x86.Build.0 = Release|Any CPU {E4927038-348D-4295-AAF4-861C58CB3943}.Release|Any CPU.ActiveCfg = Release|Any CPU {E4927038-348D-4295-AAF4-861C58CB3943}.Release|Any CPU.Build.0 = Release|Any CPU {E4927038-348D-4295-AAF4-861C58CB3943}.Release|ARM.ActiveCfg = Release|Any CPU @@ -702,6 +854,26 @@ Global {74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x64.Build.0 = Debug|Any CPU {74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x64.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x86.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x64.Build.0 = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x86.Build.0 = Release|Any CPU {74E700B0-1156-4126-BE40-EE450D3C3026}.Release|Any CPU.ActiveCfg = Release|Any CPU {74E700B0-1156-4126-BE40-EE450D3C3026}.Release|Any CPU.Build.0 = Release|Any CPU {74E700B0-1156-4126-BE40-EE450D3C3026}.Release|ARM.ActiveCfg = Release|Any CPU @@ -742,6 +914,26 @@ Global {63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x64.Build.0 = Debug|Any CPU {63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x64.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x86.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x64.Build.0 = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x86.Build.0 = Release|Any CPU {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|Any CPU.Build.0 = Release|Any CPU {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|ARM.ActiveCfg = Release|Any CPU @@ -782,6 +974,26 @@ Global {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x64.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x86.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x64.Build.0 = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x86.Build.0 = Release|Any CPU {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|Any CPU.ActiveCfg = Release|Any CPU {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|Any CPU.Build.0 = Release|Any CPU {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -822,6 +1034,26 @@ Global {1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x64.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x86.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x64.Build.0 = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x86.Build.0 = Release|Any CPU {1981B537-39E9-4E7D-8430-27466481AEEE}.Release|Any CPU.ActiveCfg = Release|Any CPU {1981B537-39E9-4E7D-8430-27466481AEEE}.Release|Any CPU.Build.0 = Release|Any CPU {1981B537-39E9-4E7D-8430-27466481AEEE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -863,6 +1095,26 @@ Global {35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.Build.0 = Debug|Win32 {35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.Deploy.0 = Debug|Win32 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM64.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x64.ActiveCfg = Release|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x64.Build.0 = Release|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x86.ActiveCfg = Release|Win32 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x86.Build.0 = Release|Win32 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM64.Build.0 = Debug|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x64.ActiveCfg = Release|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x64.Build.0 = Release|x64 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x86.ActiveCfg = Release|Win32 + {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x86.Build.0 = Release|Win32 {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|Any CPU.ActiveCfg = Release|Win32 {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM.ActiveCfg = Release|Win32 {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM64.ActiveCfg = Release|Win32 @@ -900,6 +1152,26 @@ Global {37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x64.Build.0 = Debug|Any CPU {37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x64.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x86.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x64.Build.0 = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x86.Build.0 = Release|Any CPU {37EE62DF-A988-45AF-BB30-DD3245164188}.Release|Any CPU.ActiveCfg = Release|Any CPU {37EE62DF-A988-45AF-BB30-DD3245164188}.Release|Any CPU.Build.0 = Release|Any CPU {37EE62DF-A988-45AF-BB30-DD3245164188}.Release|ARM.ActiveCfg = Release|Any CPU @@ -940,6 +1212,26 @@ Global {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x64.Build.0 = Debug|Any CPU {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x64.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x86.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x64.Build.0 = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x86.Build.0 = Release|Any CPU {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|Any CPU.ActiveCfg = Release|Any CPU {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|Any CPU.Build.0 = Release|Any CPU {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|ARM.ActiveCfg = Release|Any CPU @@ -980,6 +1272,26 @@ Global {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x64.Build.0 = Debug|Any CPU {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x64.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x86.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x64.Build.0 = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x86.Build.0 = Release|Any CPU {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|Any CPU.ActiveCfg = Release|Any CPU {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|Any CPU.Build.0 = Release|Any CPU {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1020,6 +1332,26 @@ Global {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x64.Build.0 = Debug|Any CPU {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x64.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x86.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x64.Build.0 = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x86.Build.0 = Release|Any CPU {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|Any CPU.ActiveCfg = Release|Any CPU {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|Any CPU.Build.0 = Release|Any CPU {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1060,6 +1392,26 @@ Global {38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x64.Build.0 = Debug|Any CPU {38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x64.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x86.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x64.Build.0 = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x86.Build.0 = Release|Any CPU {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|Any CPU.ActiveCfg = Release|Any CPU {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|Any CPU.Build.0 = Release|Any CPU {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1100,6 +1452,26 @@ Global {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x64.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x86.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x64.Build.0 = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x86.Build.0 = Release|Any CPU {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|Any CPU.ActiveCfg = Release|Any CPU {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|Any CPU.Build.0 = Release|Any CPU {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1140,6 +1512,26 @@ Global {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x64.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x86.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x64.Build.0 = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x86.Build.0 = Release|Any CPU {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|Any CPU.Build.0 = Release|Any CPU {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1180,6 +1572,26 @@ Global {22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x64.Build.0 = Debug|Any CPU {22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x64.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x86.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x64.Build.0 = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x86.Build.0 = Release|Any CPU {22F87980-E990-4686-BE81-BE63D562C4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {22F87980-E990-4686-BE81-BE63D562C4D5}.Release|Any CPU.Build.0 = Release|Any CPU {22F87980-E990-4686-BE81-BE63D562C4D5}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1220,6 +1632,26 @@ Global {CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x64.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x86.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x64.Build.0 = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x86.Build.0 = Release|Any CPU {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|Any CPU.ActiveCfg = Release|Any CPU {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|Any CPU.Build.0 = Release|Any CPU {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1260,6 +1692,26 @@ Global {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x64.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x86.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x64.Build.0 = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x86.Build.0 = Release|Any CPU {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|Any CPU.ActiveCfg = Release|Any CPU {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|Any CPU.Build.0 = Release|Any CPU {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1300,6 +1752,26 @@ Global {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x64.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x86.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x64.Build.0 = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x86.Build.0 = Release|Any CPU {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|Any CPU.ActiveCfg = Release|Any CPU {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|Any CPU.Build.0 = Release|Any CPU {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1340,6 +1812,26 @@ Global {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x64.Build.0 = Debug|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x64.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x86.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x64.Build.0 = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x86.Build.0 = Release|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.Build.0 = Release|Any CPU {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1380,6 +1872,26 @@ Global {401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x64.Build.0 = Debug|Any CPU {401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x64.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x86.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x64.Build.0 = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x86.Build.0 = Release|Any CPU {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|Any CPU.ActiveCfg = Release|Any CPU {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|Any CPU.Build.0 = Release|Any CPU {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1420,6 +1932,26 @@ Global {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x64.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x86.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x64.Build.0 = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x86.Build.0 = Release|Any CPU {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|Any CPU.ActiveCfg = Release|Any CPU {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|Any CPU.Build.0 = Release|Any CPU {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1460,6 +1992,26 @@ Global {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x64.Build.0 = Debug|Any CPU {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x64.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x86.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x64.Build.0 = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x86.Build.0 = Release|Any CPU {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|Any CPU.ActiveCfg = Release|Any CPU {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|ARM.ActiveCfg = Release|Any CPU {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|ARM.Build.0 = Release|Any CPU @@ -1499,6 +2051,26 @@ Global {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x64.Build.0 = Debug|Any CPU {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x64.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x86.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x64.Build.0 = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x86.Build.0 = Release|Any CPU {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|Any CPU.ActiveCfg = Release|Any CPU {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|Any CPU.Build.0 = Release|Any CPU {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1539,6 +2111,26 @@ Global {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x64.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x86.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x64.Build.0 = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x86.Build.0 = Release|Any CPU {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|Any CPU.ActiveCfg = Release|Any CPU {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|Any CPU.Build.0 = Release|Any CPU {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1579,6 +2171,26 @@ Global {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x64.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x86.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x64.Build.0 = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x86.Build.0 = Release|Any CPU {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|Any CPU.Build.0 = Release|Any CPU {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1619,6 +2231,26 @@ Global {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x64.Build.0 = Debug|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x64.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x86.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x64.Build.0 = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x86.Build.0 = Release|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|Any CPU.Build.0 = Release|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1659,6 +2291,26 @@ Global {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x64.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x86.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x64.Build.0 = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x86.Build.0 = Release|Any CPU {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|Any CPU.ActiveCfg = Release|Any CPU {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|Any CPU.Build.0 = Release|Any CPU {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1699,6 +2351,26 @@ Global {4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x64.Build.0 = Debug|Any CPU {4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x64.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x86.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x64.Build.0 = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x86.Build.0 = Release|Any CPU {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|Any CPU.ActiveCfg = Release|Any CPU {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|Any CPU.Build.0 = Release|Any CPU {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1739,6 +2411,26 @@ Global {22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x64.Build.0 = Debug|Any CPU {22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x64.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x86.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x64.Build.0 = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x86.Build.0 = Release|Any CPU {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|Any CPU.ActiveCfg = Release|Any CPU {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|Any CPU.Build.0 = Release|Any CPU {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1779,6 +2471,26 @@ Global {D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x64.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x86.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x64.Build.0 = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x86.Build.0 = Release|Any CPU {D0CE8122-077D-42A2-9490-028AE4769B52}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0CE8122-077D-42A2-9490-028AE4769B52}.Release|Any CPU.Build.0 = Release|Any CPU {D0CE8122-077D-42A2-9490-028AE4769B52}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1819,6 +2531,26 @@ Global {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x64.Build.0 = Debug|Any CPU {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x64.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x86.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x64.Build.0 = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x86.Build.0 = Release|Any CPU {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|Any CPU.ActiveCfg = Release|Any CPU {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|Any CPU.Build.0 = Release|Any CPU {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1859,6 +2591,26 @@ Global {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x64.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x86.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x64.Build.0 = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x86.Build.0 = Release|Any CPU {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|Any CPU.ActiveCfg = Release|Any CPU {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|Any CPU.Build.0 = Release|Any CPU {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1898,6 +2650,26 @@ Global {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x64.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x86.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x64.Build.0 = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x86.Build.0 = Release|Any CPU {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|Any CPU.ActiveCfg = Release|Any CPU {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|ARM.ActiveCfg = Release|Any CPU {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|ARM.Build.0 = Release|Any CPU @@ -1937,6 +2709,26 @@ Global {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x64.Build.0 = Debug|Any CPU {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x64.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x86.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x64.Build.0 = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x86.Build.0 = Release|Any CPU {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|Any CPU.ActiveCfg = Release|Any CPU {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|Any CPU.Build.0 = Release|Any CPU {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|ARM.ActiveCfg = Release|Any CPU @@ -1977,6 +2769,26 @@ Global {9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x64.Build.0 = Debug|Any CPU {9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x64.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x86.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x64.Build.0 = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x86.Build.0 = Release|Any CPU {9652F972-2BD1-4283-99CB-FC6240434C17}.Release|Any CPU.ActiveCfg = Release|Any CPU {9652F972-2BD1-4283-99CB-FC6240434C17}.Release|Any CPU.Build.0 = Release|Any CPU {9652F972-2BD1-4283-99CB-FC6240434C17}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2017,6 +2829,26 @@ Global {5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x64.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x86.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x64.Build.0 = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x86.Build.0 = Release|Any CPU {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|Any CPU.ActiveCfg = Release|Any CPU {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|ARM.ActiveCfg = Release|Any CPU {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|ARM.Build.0 = Release|Any CPU @@ -2056,6 +2888,26 @@ Global {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x64.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x86.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x64.Build.0 = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x86.Build.0 = Release|Any CPU {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|Any CPU.Build.0 = Release|Any CPU {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2096,6 +2948,26 @@ Global {CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x64.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x86.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x64.Build.0 = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x86.Build.0 = Release|Any CPU {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|Any CPU.ActiveCfg = Release|Any CPU {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|Any CPU.Build.0 = Release|Any CPU {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2136,6 +3008,26 @@ Global {FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x64.Build.0 = Debug|Any CPU {FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x64.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x86.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x64.Build.0 = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x86.Build.0 = Release|Any CPU {FC337A7F-1214-41D8-9992-78092A3B961E}.Release|Any CPU.ActiveCfg = Release|Any CPU {FC337A7F-1214-41D8-9992-78092A3B961E}.Release|Any CPU.Build.0 = Release|Any CPU {FC337A7F-1214-41D8-9992-78092A3B961E}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2176,6 +3068,26 @@ Global {844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x64.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x86.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x64.Build.0 = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x86.Build.0 = Release|Any CPU {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|Any CPU.Build.0 = Release|Any CPU {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2216,6 +3128,26 @@ Global {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x64.Build.0 = Debug|Any CPU {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x64.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x86.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x64.Build.0 = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x86.Build.0 = Release|Any CPU {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|Any CPU.ActiveCfg = Release|Any CPU {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|Any CPU.Build.0 = Release|Any CPU {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2252,6 +3184,26 @@ Global {BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x64.Build.0 = Release|Win32 {BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x86.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|Any CPU.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|Any CPU.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM64.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM64.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x64.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x64.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x86.ActiveCfg = Release|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x86.Build.0 = Release|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|Any CPU.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|Any CPU.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM64.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM64.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x64.ActiveCfg = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x64.Build.0 = Debug|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x86.ActiveCfg = Release|Win32 + {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x86.Build.0 = Release|Win32 {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|Any CPU.ActiveCfg = Release|Win32 {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|Any CPU.Build.0 = Release|Win32 {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|ARM.ActiveCfg = Release|Win32 @@ -2286,6 +3238,26 @@ Global {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x64.Build.0 = Debug|x64 {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x86.Build.0 = Debug|Win32 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM64.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x64.ActiveCfg = Release|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x64.Build.0 = Release|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x86.ActiveCfg = Release|Win32 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x86.Build.0 = Release|Win32 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM64.Build.0 = Debug|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x64.ActiveCfg = Release|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x64.Build.0 = Release|x64 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x86.ActiveCfg = Release|Win32 + {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x86.Build.0 = Release|Win32 {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|Any CPU.ActiveCfg = Release|Win32 {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|ARM.ActiveCfg = Release|Win32 {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|ARM64.ActiveCfg = Release|Win32 @@ -2323,6 +3295,26 @@ Global {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x64.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x86.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x64.Build.0 = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x86.Build.0 = Release|Any CPU {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|Any CPU.ActiveCfg = Release|Any CPU {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|Any CPU.Build.0 = Release|Any CPU {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2363,6 +3355,26 @@ Global {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x64.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x86.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x64.Build.0 = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x86.Build.0 = Release|Any CPU {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|Any CPU.ActiveCfg = Release|Any CPU {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|Any CPU.Build.0 = Release|Any CPU {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2403,6 +3415,26 @@ Global {F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x64.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x86.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x64.Build.0 = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x86.Build.0 = Release|Any CPU {F441FEEE-322A-4943-B566-110E12FD3B72}.Release|Any CPU.ActiveCfg = Release|Any CPU {F441FEEE-322A-4943-B566-110E12FD3B72}.Release|Any CPU.Build.0 = Release|Any CPU {F441FEEE-322A-4943-B566-110E12FD3B72}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2440,6 +3472,26 @@ Global {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x64.Build.0 = Debug|x64 {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x86.Build.0 = Debug|Win32 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM64.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x64.ActiveCfg = Release|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x64.Build.0 = Release|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x86.ActiveCfg = Release|Win32 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x86.Build.0 = Release|Win32 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM64.Build.0 = Debug|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x64.ActiveCfg = Release|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x64.Build.0 = Release|x64 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x86.ActiveCfg = Release|Win32 + {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x86.Build.0 = Release|Win32 {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|Any CPU.ActiveCfg = Release|Win32 {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|Any CPU.Build.0 = Release|Win32 {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|ARM.ActiveCfg = Release|Win32 @@ -2478,6 +3530,26 @@ Global {793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x64.Build.0 = Debug|Any CPU {793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x64.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x86.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x64.Build.0 = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x86.Build.0 = Release|Any CPU {793FBFC1-549E-458B-A52F-784BD4F28586}.Release|Any CPU.ActiveCfg = Release|Any CPU {793FBFC1-549E-458B-A52F-784BD4F28586}.Release|Any CPU.Build.0 = Release|Any CPU {793FBFC1-549E-458B-A52F-784BD4F28586}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2518,6 +3590,26 @@ Global {40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x64.Build.0 = Debug|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x64.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x86.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x64.Build.0 = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x86.Build.0 = Release|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.Release|Any CPU.ActiveCfg = Release|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.Release|Any CPU.Build.0 = Release|Any CPU {40085232-ACED-4CBE-945B-90BA8153C151}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2558,6 +3650,26 @@ Global {88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x64.Build.0 = Debug|Any CPU {88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x64.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x86.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x64.Build.0 = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x86.Build.0 = Release|Any CPU {88028F14-0028-4DED-B119-19B8EE23CF32}.Release|Any CPU.ActiveCfg = Release|Any CPU {88028F14-0028-4DED-B119-19B8EE23CF32}.Release|Any CPU.Build.0 = Release|Any CPU {88028F14-0028-4DED-B119-19B8EE23CF32}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2598,6 +3710,26 @@ Global {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x64.Build.0 = Debug|Any CPU {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x64.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x86.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x64.Build.0 = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x86.Build.0 = Release|Any CPU {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|Any CPU.Build.0 = Release|Any CPU {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2638,6 +3770,26 @@ Global {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x64.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x86.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x64.Build.0 = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x86.Build.0 = Release|Any CPU {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|Any CPU.ActiveCfg = Release|Any CPU {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|Any CPU.Build.0 = Release|Any CPU {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2677,6 +3829,26 @@ Global {12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x64.Build.0 = Debug|Any CPU {12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x64.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x86.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x64.Build.0 = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x86.Build.0 = Release|Any CPU {12CC222B-D0F5-4048-B790-D283235F540D}.Release|Any CPU.ActiveCfg = Release|Any CPU {12CC222B-D0F5-4048-B790-D283235F540D}.Release|Any CPU.Build.0 = Release|Any CPU {12CC222B-D0F5-4048-B790-D283235F540D}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2717,6 +3889,26 @@ Global {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x64.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x86.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x64.Build.0 = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x86.Build.0 = Release|Any CPU {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|Any CPU.Build.0 = Release|Any CPU {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2757,6 +3949,26 @@ Global {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x64.Build.0 = Debug|Any CPU {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x64.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x86.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x64.Build.0 = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x86.Build.0 = Release|Any CPU {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|Any CPU.ActiveCfg = Release|Any CPU {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|Any CPU.Build.0 = Release|Any CPU {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2797,6 +4009,26 @@ Global {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x64.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x86.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x64.Build.0 = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x86.Build.0 = Release|Any CPU {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|Any CPU.ActiveCfg = Release|Any CPU {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|Any CPU.Build.0 = Release|Any CPU {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2836,6 +4068,26 @@ Global {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x64.Build.0 = Debug|Any CPU {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x64.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x86.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x64.Build.0 = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x86.Build.0 = Release|Any CPU {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|Any CPU.ActiveCfg = Release|Any CPU {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|Any CPU.Build.0 = Release|Any CPU {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2875,6 +4127,26 @@ Global {90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x64.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x86.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x64.Build.0 = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x86.Build.0 = Release|Any CPU {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|Any CPU.ActiveCfg = Release|Any CPU {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|Any CPU.Build.0 = Release|Any CPU {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2914,6 +4186,26 @@ Global {F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x64.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x86.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x64.Build.0 = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x86.Build.0 = Release|Any CPU {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|Any CPU.ActiveCfg = Release|Any CPU {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|Any CPU.Build.0 = Release|Any CPU {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|ARM.ActiveCfg = Release|Any CPU @@ -2951,6 +4243,26 @@ Global {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x64.Build.0 = Debug|x64 {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x86.Build.0 = Debug|Win32 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM64.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x64.ActiveCfg = Release|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x64.Build.0 = Release|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x86.ActiveCfg = Release|Win32 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x86.Build.0 = Release|Win32 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM64.Build.0 = Debug|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x64.ActiveCfg = Release|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x64.Build.0 = Release|x64 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x86.ActiveCfg = Release|Win32 + {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x86.Build.0 = Release|Win32 {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|Any CPU.ActiveCfg = Release|Win32 {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|ARM.ActiveCfg = Release|Win32 {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|ARM64.ActiveCfg = Release|Win32 @@ -2988,6 +4300,26 @@ Global {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x64.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x86.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x64.Build.0 = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x86.Build.0 = Release|Any CPU {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|Any CPU.ActiveCfg = Release|Any CPU {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|Any CPU.Build.0 = Release|Any CPU {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3027,6 +4359,26 @@ Global {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x64.Build.0 = Debug|Any CPU {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x64.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x86.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x64.Build.0 = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x86.Build.0 = Release|Any CPU {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|Any CPU.ActiveCfg = Release|Any CPU {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|Any CPU.Build.0 = Release|Any CPU {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3067,6 +4419,26 @@ Global {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x64.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x86.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x64.Build.0 = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x86.Build.0 = Release|Any CPU {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|Any CPU.Build.0 = Release|Any CPU {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3107,6 +4479,26 @@ Global {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x64.Build.0 = Debug|Any CPU {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x64.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x86.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x64.Build.0 = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x86.Build.0 = Release|Any CPU {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|Any CPU.ActiveCfg = Release|Any CPU {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|Any CPU.Build.0 = Release|Any CPU {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3147,6 +4539,26 @@ Global {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x64.Build.0 = Debug|Any CPU {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x64.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x86.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x64.Build.0 = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x86.Build.0 = Release|Any CPU {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|Any CPU.ActiveCfg = Release|Any CPU {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|Any CPU.Build.0 = Release|Any CPU {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3187,6 +4599,26 @@ Global {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x64.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x86.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x64.Build.0 = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x86.Build.0 = Release|Any CPU {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|Any CPU.ActiveCfg = Release|Any CPU {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|Any CPU.Build.0 = Release|Any CPU {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3226,6 +4658,26 @@ Global {0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x64.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x86.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x64.Build.0 = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x86.Build.0 = Release|Any CPU {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|Any CPU.Build.0 = Release|Any CPU {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3266,6 +4718,26 @@ Global {942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x64.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x86.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x64.Build.0 = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x86.Build.0 = Release|Any CPU {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|Any CPU.ActiveCfg = Release|Any CPU {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|Any CPU.Build.0 = Release|Any CPU {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3305,6 +4777,26 @@ Global {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x64.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x86.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x64.Build.0 = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x86.Build.0 = Release|Any CPU {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|Any CPU.ActiveCfg = Release|Any CPU {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|Any CPU.Build.0 = Release|Any CPU {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3345,6 +4837,26 @@ Global {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x64.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x86.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x64.Build.0 = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x86.Build.0 = Release|Any CPU {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|Any CPU.ActiveCfg = Release|Any CPU {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|Any CPU.Build.0 = Release|Any CPU {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3385,6 +4897,26 @@ Global {91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x64.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x86.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x64.Build.0 = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x86.Build.0 = Release|Any CPU {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|Any CPU.ActiveCfg = Release|Any CPU {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|Any CPU.Build.0 = Release|Any CPU {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3425,6 +4957,26 @@ Global {58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x64.Build.0 = Debug|x64 {58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x86.ActiveCfg = Debug|x86 {58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x86.Build.0 = Debug|x86 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x64.ActiveCfg = Release|x64 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x64.Build.0 = Release|x64 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x86.ActiveCfg = Release|x86 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x86.Build.0 = Release|x86 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x64.ActiveCfg = Release|x64 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x64.Build.0 = Release|x64 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x86.ActiveCfg = Release|x86 + {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x86.Build.0 = Release|x86 {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|Any CPU.ActiveCfg = Release|Any CPU {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|Any CPU.Build.0 = Release|Any CPU {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3465,6 +5017,26 @@ Global {E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x64.Build.0 = Debug|Any CPU {E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x64.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x86.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x64.Build.0 = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x86.Build.0 = Release|Any CPU {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|Any CPU.ActiveCfg = Release|Any CPU {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|Any CPU.Build.0 = Release|Any CPU {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3505,6 +5077,26 @@ Global {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x64.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x86.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x64.Build.0 = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x86.Build.0 = Release|Any CPU {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|Any CPU.Build.0 = Release|Any CPU {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3545,6 +5137,26 @@ Global {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x64.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x86.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x64.Build.0 = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x86.Build.0 = Release|Any CPU {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|Any CPU.ActiveCfg = Release|Any CPU {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|Any CPU.Build.0 = Release|Any CPU {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3585,6 +5197,26 @@ Global {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x64.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x86.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x64.Build.0 = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x86.Build.0 = Release|Any CPU {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|Any CPU.ActiveCfg = Release|Any CPU {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|Any CPU.Build.0 = Release|Any CPU {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3625,6 +5257,26 @@ Global {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x64.Build.0 = Debug|Any CPU {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x64.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x86.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x64.Build.0 = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x86.Build.0 = Release|Any CPU {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|Any CPU.ActiveCfg = Release|Any CPU {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|Any CPU.Build.0 = Release|Any CPU {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3665,6 +5317,26 @@ Global {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x64.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x86.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x64.Build.0 = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x86.Build.0 = Release|Any CPU {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|Any CPU.Build.0 = Release|Any CPU {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3704,6 +5376,26 @@ Global {72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x64.Build.0 = Debug|Any CPU {72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x64.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x86.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x64.Build.0 = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x86.Build.0 = Release|Any CPU {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.ActiveCfg = Release|Any CPU {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.Build.0 = Release|Any CPU {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3744,6 +5436,26 @@ Global {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x64.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x86.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x64.Build.0 = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x86.Build.0 = Release|Any CPU {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|Any CPU.ActiveCfg = Release|Any CPU {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|Any CPU.Build.0 = Release|Any CPU {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3784,6 +5496,26 @@ Global {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x64.Build.0 = Debug|Any CPU {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x64.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x86.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x64.Build.0 = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x86.Build.0 = Release|Any CPU {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|Any CPU.ActiveCfg = Release|Any CPU {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|Any CPU.Build.0 = Release|Any CPU {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3824,6 +5556,26 @@ Global {4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x64.Build.0 = Debug|Any CPU {4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x64.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x86.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x64.Build.0 = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x86.Build.0 = Release|Any CPU {4EDCF067-E377-42CB-A18C-8368CF484577}.Release|Any CPU.ActiveCfg = Release|Any CPU {4EDCF067-E377-42CB-A18C-8368CF484577}.Release|Any CPU.Build.0 = Release|Any CPU {4EDCF067-E377-42CB-A18C-8368CF484577}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3864,6 +5616,26 @@ Global {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x64.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x86.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x64.Build.0 = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x86.Build.0 = Release|Any CPU {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|Any CPU.ActiveCfg = Release|Any CPU {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|Any CPU.Build.0 = Release|Any CPU {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3904,6 +5676,26 @@ Global {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x64.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x86.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x64.Build.0 = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x86.Build.0 = Release|Any CPU {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|Any CPU.Build.0 = Release|Any CPU {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3944,6 +5736,26 @@ Global {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x64.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x86.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x64.Build.0 = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x86.Build.0 = Release|Any CPU {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|Any CPU.Build.0 = Release|Any CPU {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|ARM.ActiveCfg = Release|Any CPU @@ -3984,6 +5796,26 @@ Global {43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x64.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x86.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x64.Build.0 = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x86.Build.0 = Release|Any CPU {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|Any CPU.ActiveCfg = Release|Any CPU {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|Any CPU.Build.0 = Release|Any CPU {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4024,6 +5856,26 @@ Global {7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x64.Build.0 = Debug|Any CPU {7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x64.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x86.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x64.Build.0 = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x86.Build.0 = Release|Any CPU {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|Any CPU.Build.0 = Release|Any CPU {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4064,6 +5916,26 @@ Global {5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x64.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x86.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x64.Build.0 = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x86.Build.0 = Release|Any CPU {5001990F-977B-48FF-B217-0236A5022AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU {5001990F-977B-48FF-B217-0236A5022AD8}.Release|Any CPU.Build.0 = Release|Any CPU {5001990F-977B-48FF-B217-0236A5022AD8}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4104,6 +5976,26 @@ Global {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x64.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x86.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x64.Build.0 = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x86.Build.0 = Release|Any CPU {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|Any CPU.ActiveCfg = Release|Any CPU {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|Any CPU.Build.0 = Release|Any CPU {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4141,6 +6033,26 @@ Global {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x64.Build.0 = Debug|x64 {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x86.Build.0 = Debug|Win32 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM64.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x64.ActiveCfg = Release|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x64.Build.0 = Release|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x86.ActiveCfg = Release|Win32 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x86.Build.0 = Release|Win32 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM64.Build.0 = Debug|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x64.ActiveCfg = Release|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x64.Build.0 = Release|x64 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x86.ActiveCfg = Release|Win32 + {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x86.Build.0 = Release|Win32 {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|Any CPU.ActiveCfg = Debug|Win32 {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|Any CPU.Build.0 = Debug|Win32 {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|ARM.ActiveCfg = Release|Win32 @@ -4179,6 +6091,26 @@ Global {280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x64.Build.0 = Debug|Any CPU {280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x64.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x86.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x64.Build.0 = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x86.Build.0 = Release|Any CPU {280267F5-A19E-4B96-999D-C13D293ECA45}.Release|Any CPU.ActiveCfg = Release|Any CPU {280267F5-A19E-4B96-999D-C13D293ECA45}.Release|Any CPU.Build.0 = Release|Any CPU {280267F5-A19E-4B96-999D-C13D293ECA45}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4219,6 +6151,26 @@ Global {25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x64.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x86.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x64.Build.0 = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x86.Build.0 = Release|Any CPU {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|Any CPU.ActiveCfg = Release|Any CPU {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|Any CPU.Build.0 = Release|Any CPU {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4259,6 +6211,26 @@ Global {6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x64.Build.0 = Debug|Any CPU {6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x64.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x86.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x64.Build.0 = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x86.Build.0 = Release|Any CPU {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|Any CPU.Build.0 = Release|Any CPU {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4299,6 +6271,26 @@ Global {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x64.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x86.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x64.Build.0 = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x86.Build.0 = Release|Any CPU {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|Any CPU.ActiveCfg = Release|Any CPU {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|Any CPU.Build.0 = Release|Any CPU {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4339,6 +6331,26 @@ Global {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x64.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x86.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x64.Build.0 = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x86.Build.0 = Release|Any CPU {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.Build.0 = Release|Any CPU {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4379,6 +6391,26 @@ Global {E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x64.Build.0 = Debug|Any CPU {E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x64.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x86.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x64.Build.0 = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x86.Build.0 = Release|Any CPU {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|Any CPU.ActiveCfg = Release|Any CPU {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|Any CPU.Build.0 = Release|Any CPU {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4419,6 +6451,26 @@ Global {C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x64.Build.0 = Debug|Any CPU {C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x64.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x86.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x64.Build.0 = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x86.Build.0 = Release|Any CPU {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|Any CPU.ActiveCfg = Release|Any CPU {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|Any CPU.Build.0 = Release|Any CPU {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4459,6 +6511,26 @@ Global {8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x64.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x86.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x64.Build.0 = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x86.Build.0 = Release|Any CPU {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|Any CPU.ActiveCfg = Release|Any CPU {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|Any CPU.Build.0 = Release|Any CPU {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4499,6 +6571,26 @@ Global {D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x64.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x86.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x64.Build.0 = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x86.Build.0 = Release|Any CPU {D2EE865B-B006-487A-9487-60A663636AC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {D2EE865B-B006-487A-9487-60A663636AC3}.Release|Any CPU.Build.0 = Release|Any CPU {D2EE865B-B006-487A-9487-60A663636AC3}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4539,6 +6631,26 @@ Global {F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x64.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x86.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x64.Build.0 = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x86.Build.0 = Release|Any CPU {F209FAE8-73F9-441B-97F4-0844A0279390}.Release|Any CPU.ActiveCfg = Release|Any CPU {F209FAE8-73F9-441B-97F4-0844A0279390}.Release|Any CPU.Build.0 = Release|Any CPU {F209FAE8-73F9-441B-97F4-0844A0279390}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4576,6 +6688,26 @@ Global {862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x64.Build.0 = Debug|x64 {862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x86.Build.0 = Debug|Win32 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM64.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x64.ActiveCfg = Release|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x64.Build.0 = Release|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x86.ActiveCfg = Release|Win32 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x86.Build.0 = Release|Win32 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM64.Build.0 = Debug|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x64.ActiveCfg = Release|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x64.Build.0 = Release|x64 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x86.ActiveCfg = Release|Win32 + {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x86.Build.0 = Release|Win32 {862328A4-8632-43AF-B466-55825C7962FE}.Release|Any CPU.ActiveCfg = Debug|Win32 {862328A4-8632-43AF-B466-55825C7962FE}.Release|ARM.ActiveCfg = Release|Win32 {862328A4-8632-43AF-B466-55825C7962FE}.Release|ARM64.ActiveCfg = Release|Win32 @@ -4613,6 +6745,26 @@ Global {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x64.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x86.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x64.Build.0 = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x86.Build.0 = Release|Any CPU {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|Any CPU.ActiveCfg = Release|Any CPU {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|Any CPU.Build.0 = Release|Any CPU {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4650,6 +6802,26 @@ Global {401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x64.Build.0 = Debug|x64 {401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x86.Build.0 = Debug|Win32 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM64.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x64.ActiveCfg = Release|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x64.Build.0 = Release|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x86.ActiveCfg = Release|Win32 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x86.Build.0 = Release|Win32 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM64.Build.0 = Debug|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x64.ActiveCfg = Release|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x64.Build.0 = Release|x64 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x86.ActiveCfg = Release|Win32 + {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x86.Build.0 = Release|Win32 {401FB878-646C-4230-821E-16DCAE6D56F5}.Release|Any CPU.ActiveCfg = Release|Win32 {401FB878-646C-4230-821E-16DCAE6D56F5}.Release|ARM.ActiveCfg = Release|Win32 {401FB878-646C-4230-821E-16DCAE6D56F5}.Release|ARM64.ActiveCfg = Release|Win32 @@ -4684,6 +6856,26 @@ Global {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x64.Build.0 = Debug|x64 {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x86.Build.0 = Debug|Win32 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM64.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x64.ActiveCfg = Release|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x64.Build.0 = Release|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x86.ActiveCfg = Release|Win32 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x86.Build.0 = Release|Win32 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM64.Build.0 = Debug|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x64.ActiveCfg = Release|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x64.Build.0 = Release|x64 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x86.ActiveCfg = Release|Win32 + {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x86.Build.0 = Release|Win32 {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|Any CPU.ActiveCfg = Debug|Win32 {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|ARM.ActiveCfg = Release|Win32 {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|ARM64.ActiveCfg = Release|Win32 @@ -4721,6 +6913,26 @@ Global {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x64.Build.0 = Debug|Any CPU {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x64.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x86.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x64.Build.0 = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x86.Build.0 = Release|Any CPU {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|Any CPU.ActiveCfg = Release|Any CPU {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|Any CPU.Build.0 = Release|Any CPU {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4758,6 +6970,26 @@ Global {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x64.Build.0 = Debug|x64 {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x86.Build.0 = Debug|Win32 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM64.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x64.ActiveCfg = Release|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x64.Build.0 = Release|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x86.ActiveCfg = Release|Win32 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x86.Build.0 = Release|Win32 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM64.Build.0 = Debug|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x64.ActiveCfg = Release|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x64.Build.0 = Release|x64 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x86.ActiveCfg = Release|Win32 + {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x86.Build.0 = Release|Win32 {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|Any CPU.ActiveCfg = Debug|Win32 {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|ARM.ActiveCfg = Release|Win32 {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|ARM64.ActiveCfg = Release|Win32 @@ -4795,6 +7027,26 @@ Global {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x64.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x86.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x64.Build.0 = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x86.Build.0 = Release|Any CPU {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|Any CPU.ActiveCfg = Release|Any CPU {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|Any CPU.Build.0 = Release|Any CPU {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4832,6 +7084,26 @@ Global {BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x64.Build.0 = Debug|x64 {BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x86.Build.0 = Debug|Win32 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM64.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x64.ActiveCfg = Release|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x64.Build.0 = Release|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x86.ActiveCfg = Release|Win32 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x86.Build.0 = Release|Win32 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM64.Build.0 = Debug|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x64.ActiveCfg = Release|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x64.Build.0 = Release|x64 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x86.ActiveCfg = Release|Win32 + {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x86.Build.0 = Release|Win32 {BB268536-9E03-46A4-9B11-6025211D87F0}.Release|Any CPU.ActiveCfg = Debug|Win32 {BB268536-9E03-46A4-9B11-6025211D87F0}.Release|ARM.ActiveCfg = Release|Win32 {BB268536-9E03-46A4-9B11-6025211D87F0}.Release|ARM64.ActiveCfg = Release|Win32 @@ -4869,6 +7141,26 @@ Global {1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x64.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x86.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x64.Build.0 = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x86.Build.0 = Release|Any CPU {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|Any CPU.ActiveCfg = Release|Any CPU {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|Any CPU.Build.0 = Release|Any CPU {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4909,6 +7201,26 @@ Global {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x64.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x86.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x64.Build.0 = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x86.Build.0 = Release|Any CPU {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|Any CPU.ActiveCfg = Release|Any CPU {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|Any CPU.Build.0 = Release|Any CPU {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4949,6 +7261,26 @@ Global {C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x64.Build.0 = Debug|Any CPU {C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x64.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x86.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x64.Build.0 = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x86.Build.0 = Release|Any CPU {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|Any CPU.ActiveCfg = Release|Any CPU {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|Any CPU.Build.0 = Release|Any CPU {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|ARM.ActiveCfg = Release|Any CPU @@ -4989,6 +7321,26 @@ Global {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x64.Build.0 = Debug|Any CPU {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x64.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x86.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x64.Build.0 = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x86.Build.0 = Release|Any CPU {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|Any CPU.Build.0 = Release|Any CPU {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5029,6 +7381,26 @@ Global {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x64.Build.0 = Debug|Any CPU {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x64.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x86.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x64.Build.0 = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x86.Build.0 = Release|Any CPU {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|Any CPU.Build.0 = Release|Any CPU {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5069,6 +7441,26 @@ Global {F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x64.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x86.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x64.Build.0 = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x86.Build.0 = Release|Any CPU {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|Any CPU.ActiveCfg = Release|Any CPU {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|Any CPU.Build.0 = Release|Any CPU {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5109,6 +7501,26 @@ Global {6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x64.Build.0 = Debug|Any CPU {6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x64.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x86.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x64.Build.0 = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x86.Build.0 = Release|Any CPU {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|Any CPU.ActiveCfg = Release|Any CPU {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|Any CPU.Build.0 = Release|Any CPU {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5149,6 +7561,26 @@ Global {B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x64.Build.0 = Debug|Any CPU {B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x64.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x86.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x64.Build.0 = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x86.Build.0 = Release|Any CPU {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|Any CPU.ActiveCfg = Release|Any CPU {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|Any CPU.Build.0 = Release|Any CPU {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5189,6 +7621,26 @@ Global {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x64.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x86.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x64.Build.0 = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x86.Build.0 = Release|Any CPU {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|Any CPU.ActiveCfg = Release|Any CPU {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|Any CPU.Build.0 = Release|Any CPU {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5229,6 +7681,26 @@ Global {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x64.Build.0 = Debug|Any CPU {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x64.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x86.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x64.Build.0 = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x86.Build.0 = Release|Any CPU {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|Any CPU.ActiveCfg = Release|Any CPU {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|Any CPU.Build.0 = Release|Any CPU {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5269,6 +7741,26 @@ Global {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x64.Build.0 = Debug|Any CPU {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x64.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x86.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x64.Build.0 = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x86.Build.0 = Release|Any CPU {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|Any CPU.Build.0 = Release|Any CPU {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5309,6 +7801,26 @@ Global {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x64.Build.0 = Debug|Any CPU {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x64.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x86.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x64.Build.0 = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x86.Build.0 = Release|Any CPU {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|Any CPU.ActiveCfg = Release|Any CPU {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|Any CPU.Build.0 = Release|Any CPU {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5349,6 +7861,26 @@ Global {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x64.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x86.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x64.Build.0 = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x86.Build.0 = Release|Any CPU {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|Any CPU.ActiveCfg = Release|Any CPU {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|Any CPU.Build.0 = Release|Any CPU {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5389,6 +7921,26 @@ Global {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x64.Build.0 = Debug|Any CPU {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x64.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x86.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x64.Build.0 = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x86.Build.0 = Release|Any CPU {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|Any CPU.ActiveCfg = Release|Any CPU {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|Any CPU.Build.0 = Release|Any CPU {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5429,6 +7981,26 @@ Global {50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x64.Build.0 = Debug|Any CPU {50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x64.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x86.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x64.Build.0 = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x86.Build.0 = Release|Any CPU {50119E79-5012-4B36-8438-953DD5FC06E6}.Release|Any CPU.ActiveCfg = Release|Any CPU {50119E79-5012-4B36-8438-953DD5FC06E6}.Release|Any CPU.Build.0 = Release|Any CPU {50119E79-5012-4B36-8438-953DD5FC06E6}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5466,6 +8038,26 @@ Global {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x64.Build.0 = Debug|x64 {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x86.Build.0 = Debug|Win32 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM64.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x64.ActiveCfg = Release|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x64.Build.0 = Release|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x86.ActiveCfg = Release|Win32 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x86.Build.0 = Release|Win32 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM64.Build.0 = Debug|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x64.ActiveCfg = Release|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x64.Build.0 = Release|x64 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x86.ActiveCfg = Release|Win32 + {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x86.Build.0 = Release|Win32 {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|Any CPU.ActiveCfg = Release|Win32 {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|ARM.ActiveCfg = Release|Win32 {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|ARM64.ActiveCfg = Release|Win32 @@ -5500,6 +8092,26 @@ Global {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x64.Build.0 = Debug|x64 {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x86.Build.0 = Debug|Win32 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM64.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x64.ActiveCfg = Release|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x64.Build.0 = Release|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x86.ActiveCfg = Release|Win32 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x86.Build.0 = Release|Win32 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM64.Build.0 = Debug|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x64.ActiveCfg = Release|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x64.Build.0 = Release|x64 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x86.ActiveCfg = Release|Win32 + {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x86.Build.0 = Release|Win32 {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|Any CPU.ActiveCfg = Release|Win32 {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|ARM.ActiveCfg = Release|Win32 {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|ARM64.ActiveCfg = Release|Win32 @@ -5534,6 +8146,26 @@ Global {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x64.Build.0 = Debug|x64 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x86.Build.0 = Debug|Win32 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM64.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x64.ActiveCfg = Release|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x64.Build.0 = Release|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x86.ActiveCfg = Release|Win32 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x86.Build.0 = Release|Win32 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM64.Build.0 = Debug|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x64.ActiveCfg = Release|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x64.Build.0 = Release|x64 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x86.ActiveCfg = Release|Win32 + {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x86.Build.0 = Release|Win32 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|Any CPU.ActiveCfg = Release|Win32 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|ARM.ActiveCfg = Release|Win32 {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|ARM64.ActiveCfg = Release|Win32 @@ -5571,6 +8203,26 @@ Global {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x64.Build.0 = Debug|Any CPU {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x86.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x64.Build.0 = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x86.Build.0 = Release|Any CPU {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.ActiveCfg = Release|Any CPU {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.Build.0 = Release|Any CPU {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5611,6 +8263,26 @@ Global {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x64.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x86.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x64.Build.0 = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x86.Build.0 = Release|Any CPU {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|Any CPU.ActiveCfg = Release|Any CPU {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|Any CPU.Build.0 = Release|Any CPU {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5651,6 +8323,26 @@ Global {D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x64.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x86.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x64.Build.0 = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x86.Build.0 = Release|Any CPU {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|Any CPU.ActiveCfg = Release|Any CPU {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|Any CPU.Build.0 = Release|Any CPU {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5691,6 +8383,26 @@ Global {2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU {2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x64.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x86.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x64.Build.0 = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x86.Build.0 = Release|Any CPU {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|Any CPU.Build.0 = Release|Any CPU {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5731,6 +8443,26 @@ Global {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x64.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x86.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x64.Build.0 = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x86.Build.0 = Release|Any CPU {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|Any CPU.Build.0 = Release|Any CPU {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5771,6 +8503,26 @@ Global {F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x64.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x86.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x64.Build.0 = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x86.Build.0 = Release|Any CPU {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|Any CPU.ActiveCfg = Release|Any CPU {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|Any CPU.Build.0 = Release|Any CPU {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5811,6 +8563,26 @@ Global {F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x64.Build.0 = Debug|Any CPU {F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x64.ActiveCfg = Release|x64 + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x64.Build.0 = Release|x64 + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x86.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x64.ActiveCfg = Release|x64 + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x64.Build.0 = Release|x64 + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x86.Build.0 = Release|Any CPU {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.ActiveCfg = Release|Any CPU {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.Build.0 = Release|Any CPU {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5851,6 +8623,26 @@ Global {DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x64.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x86.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x64.Build.0 = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x86.Build.0 = Release|Any CPU {DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.Build.0 = Release|Any CPU {DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5891,6 +8683,26 @@ Global {18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x64.Build.0 = Debug|Any CPU {18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x64.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x86.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x64.Build.0 = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x86.Build.0 = Release|Any CPU {18A27902-9881-4556-8163-F6DF2236A14D}.Release|Any CPU.ActiveCfg = Release|Any CPU {18A27902-9881-4556-8163-F6DF2236A14D}.Release|Any CPU.Build.0 = Release|Any CPU {18A27902-9881-4556-8163-F6DF2236A14D}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5931,6 +8743,26 @@ Global {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x64.Build.0 = Debug|Any CPU {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x64.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x86.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x64.Build.0 = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x86.Build.0 = Release|Any CPU {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|Any CPU.ActiveCfg = Release|Any CPU {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|Any CPU.Build.0 = Release|Any CPU {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|ARM.ActiveCfg = Release|Any CPU @@ -5971,6 +8803,26 @@ Global {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x64.Build.0 = Debug|Any CPU {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x64.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x86.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x64.Build.0 = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x86.Build.0 = Release|Any CPU {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|Any CPU.ActiveCfg = Release|Any CPU {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|Any CPU.Build.0 = Release|Any CPU {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6011,6 +8863,26 @@ Global {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x64.Build.0 = Debug|Any CPU {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x64.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x86.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x64.Build.0 = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x86.Build.0 = Release|Any CPU {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|Any CPU.ActiveCfg = Release|Any CPU {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|Any CPU.Build.0 = Release|Any CPU {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6051,6 +8923,26 @@ Global {DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x64.Build.0 = Debug|Any CPU {DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x64.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x86.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x64.Build.0 = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x86.Build.0 = Release|Any CPU {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|Any CPU.Build.0 = Release|Any CPU {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6091,6 +8983,26 @@ Global {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x64.Build.0 = Debug|Any CPU {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x64.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x86.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x64.Build.0 = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x86.Build.0 = Release|Any CPU {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|Any CPU.Build.0 = Release|Any CPU {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6131,6 +9043,26 @@ Global {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x64.Build.0 = Debug|Any CPU {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x64.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x86.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x64.Build.0 = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x86.Build.0 = Release|Any CPU {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|Any CPU.ActiveCfg = Release|Any CPU {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|Any CPU.Build.0 = Release|Any CPU {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6171,6 +9103,26 @@ Global {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x64.Build.0 = Debug|Any CPU {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x64.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x86.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x64.Build.0 = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x86.Build.0 = Release|Any CPU {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|Any CPU.ActiveCfg = Release|Any CPU {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|Any CPU.Build.0 = Release|Any CPU {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6211,6 +9163,26 @@ Global {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x64.Build.0 = Debug|Any CPU {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x64.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x86.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x64.Build.0 = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x86.Build.0 = Release|Any CPU {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|Any CPU.ActiveCfg = Release|Any CPU {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|Any CPU.Build.0 = Release|Any CPU {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6251,6 +9223,26 @@ Global {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x64.Build.0 = Debug|Any CPU {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x64.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x86.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x64.Build.0 = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x86.Build.0 = Release|Any CPU {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|Any CPU.ActiveCfg = Release|Any CPU {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|Any CPU.Build.0 = Release|Any CPU {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6291,6 +9283,26 @@ Global {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x64.Build.0 = Debug|Any CPU {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x64.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x86.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x64.Build.0 = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x86.Build.0 = Release|Any CPU {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|Any CPU.ActiveCfg = Release|Any CPU {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|Any CPU.Build.0 = Release|Any CPU {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6331,6 +9343,26 @@ Global {866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x64.Build.0 = Debug|Any CPU {866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x64.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x86.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x64.Build.0 = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x86.Build.0 = Release|Any CPU {866B916A-207C-43F0-B403-7C4A820C2E11}.Release|Any CPU.ActiveCfg = Release|Any CPU {866B916A-207C-43F0-B403-7C4A820C2E11}.Release|Any CPU.Build.0 = Release|Any CPU {866B916A-207C-43F0-B403-7C4A820C2E11}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6371,6 +9403,26 @@ Global {199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x64.Build.0 = Debug|Any CPU {199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x64.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x86.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x64.Build.0 = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x86.Build.0 = Release|Any CPU {199E8359-CAD3-433D-9EED-2027652B24A4}.Release|Any CPU.ActiveCfg = Release|Any CPU {199E8359-CAD3-433D-9EED-2027652B24A4}.Release|Any CPU.Build.0 = Release|Any CPU {199E8359-CAD3-433D-9EED-2027652B24A4}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6411,6 +9463,26 @@ Global {A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x64.Build.0 = Debug|Any CPU {A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x64.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x86.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x64.Build.0 = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x86.Build.0 = Release|Any CPU {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|Any CPU.ActiveCfg = Release|Any CPU {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|Any CPU.Build.0 = Release|Any CPU {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6449,6 +9521,26 @@ Global {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x64.Build.0 = Debug|x64 {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x86.ActiveCfg = Debug|Win32 {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x86.Build.0 = Debug|Win32 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|Any CPU.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|Any CPU.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM64.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM64.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x64.ActiveCfg = Release|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x64.Build.0 = Release|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x86.ActiveCfg = Release|Win32 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x86.Build.0 = Release|Win32 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|Any CPU.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|Any CPU.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM64.ActiveCfg = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM64.Build.0 = Debug|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x64.ActiveCfg = Release|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x64.Build.0 = Release|x64 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x86.ActiveCfg = Release|Win32 + {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x86.Build.0 = Release|Win32 {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|Any CPU.ActiveCfg = Debug|Win32 {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|Any CPU.Build.0 = Debug|Win32 {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|ARM.ActiveCfg = Release|Win32 @@ -6487,6 +9579,26 @@ Global {09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x64.Build.0 = Debug|Any CPU {09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x64.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x86.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x64.Build.0 = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x86.Build.0 = Release|Any CPU {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|Any CPU.ActiveCfg = Release|Any CPU {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|Any CPU.Build.0 = Release|Any CPU {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6527,6 +9639,26 @@ Global {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x64.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x86.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x64.Build.0 = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x86.Build.0 = Release|Any CPU {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|Any CPU.ActiveCfg = Release|Any CPU {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|Any CPU.Build.0 = Release|Any CPU {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6567,6 +9699,26 @@ Global {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x64.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x86.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x64.Build.0 = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU + {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x86.Build.0 = Release|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|Any CPU.Build.0 = Release|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|ARM.ActiveCfg = Release|Any CPU @@ -6577,6 +9729,66 @@ Global {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x64.Build.0 = Release|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x86.ActiveCfg = Release|Any CPU {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x86.Build.0 = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|Any CPU.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|Any CPU.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM64.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM64.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x64.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x64.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x86.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x86.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM64.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x64.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x64.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x86.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x86.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM64.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM64.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x64.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x64.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x86.Build.0 = Debug|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|Any CPU.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|Any CPU.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM64.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM64.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x64.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x64.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x86.ActiveCfg = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x86.Build.0 = Release 2.0|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|Any CPU.ActiveCfg = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|Any CPU.Build.0 = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM.ActiveCfg = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM.Build.0 = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM64.ActiveCfg = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM64.Build.0 = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x64.ActiveCfg = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x64.Build.0 = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x86.ActiveCfg = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x86.Build.0 = Release 4.5|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|Any CPU.Build.0 = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM.ActiveCfg = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM.Build.0 = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM64.ActiveCfg = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM64.Build.0 = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x64.ActiveCfg = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x64.Build.0 = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x86.ActiveCfg = Release|Any CPU + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -6699,14 +9911,15 @@ Global {834C81C3-09B5-45D7-BE12-E7D1E6655A7C} = {004337EB-0761-4D30-B9F5-AE6E1CFC6013} {866B916A-207C-43F0-B403-7C4A820C2E11} = {4EE6DBA1-71BC-49E2-8DC7-266487E61050} {A07E6CB4-0132-4EB1-9A38-C8C057884DC2} = {EC62BC9C-F2FE-4333-B7E4-110E38D43958} + {1531C1EA-BD53-41D1-A34B-CFCDF79D2651} = {EC62BC9C-F2FE-4333-B7E4-110E38D43958} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - BuildVersion_UseGlobalSettings = False - BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs - BuildVersion_StartDate = 2000/1/1 - BuildVersion_UpdateFileVersion = False - BuildVersion_UpdateAssemblyVersion = True - BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6} + BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear + BuildVersion_UpdateAssemblyVersion = True + BuildVersion_UpdateFileVersion = False + BuildVersion_StartDate = 2000/1/1 + BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs + BuildVersion_UseGlobalSettings = False EndGlobalSection EndGlobal |
