From f3e037592476942d46b3de2a5ef59ba5abe5033b Mon Sep 17 00:00:00 2001 From: Luke1410 Date: Sun, 6 Aug 2017 23:58:26 +0200 Subject: [PATCH] - port SLikeNet 0.1.0 changes from SVN to Git - part 47 - updated root directory to SLikeNet 0.1.0 --- CMakeLists.txt | 54 +- SLikeNet.sln | 1765 ++++++++++++++++++++++++++++++++---------- changelog.txt | 87 +++ license.txt | 61 ++ readme.txt | 2019 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 3566 insertions(+), 420 deletions(-) create mode 100644 changelog.txt create mode 100644 license.txt create mode 100644 readme.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index f17a5013d..66f9dfd39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,37 @@ +# +# This file was taken from RakNet 4.082. +# Please see licenses/RakNet license.txt for the underlying license and related copyright. +# +# +# +# Modified work: Copyright (c) 2016, SLikeSoft UG (haftungsbeschränkt) +# +# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style +# license found in the license.txt file in the root directory of this source tree. +# + cmake_minimum_required(VERSION 2.6) project(RakNet) +# CMake policy settings +if( POLICY CMP0037 ) + cmake_policy(SET CMP0037 NEW) # CMake 3.0 warning: Target names should not be reserved and should match a validity pattern (aka: add_*-command target names) +endif() +if( POLICY CMP0042 ) + cmake_policy(SET CMP0042 NEW) # CMake 3.0 warning: Use @rpath in a target's install name. +endif() + +# explicitly enable @rpath in the install name for any shared library being built (for cmake >=2.8.12 and <3.0 - it's enabled by default for >= 3.0) +# note that for cmake < 2.8.12 we do not use rpath but rather keep the RakNet 4.082 behavior +if( CMAKE_VERSION VERSION_LESS 3.0 ) + if(NOT (CMAKE_VERSION VERSION_LESS 2.8.12)) + # MACOSX_RPATH support was added in cmake 2.8.12 + set(CMAKE_MACOSX_RPATH 1) + endif() +endif() + + if( NOT APPLE ) # check 64 bit if( CMAKE_SIZEOF_VOID_P MATCHES "4" ) @@ -13,7 +43,7 @@ endif( NOT APPLE ) IF (WIN32 AND NOT UNIX) set (PROGRAMFILESX86 $ENV{PROGRAMFILES}) - string(REPLACE "\\" "/" PROGRAMFILESX86 ${PROGRAMFILESX86}) + string(REPLACE "\\" "/" PROGRAMFILESX86 "${PROGRAMFILESX86}") ENDIF(WIN32 AND NOT UNIX) IF (WIN32 AND NOT UNIX) @@ -22,9 +52,25 @@ ELSE(WIN32 AND NOT UNIX) set(RAKNET_LIBRARY_LIBS pthread) ENDIF(WIN32 AND NOT UNIX) +# enable C++11 language support for GCC +include(CheckCXXCompilerFlag) +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) +CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) +if(COMPILER_SUPPORTS_CXX11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +elseif(COMPILER_SUPPORTS_CXX0X) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") +else() + message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") +endif() # Options -option( RAKNET_ENABLE_SAMPLES "Generate RakNet sample projects if true." TRUE ) +IF (WIN32 AND NOT UNIX) + option( RAKNET_ENABLE_SAMPLES "Generate RakNet sample projects if true." TRUE ) +ELSE (WIN32 AND NOT UNIX) + # building samples is disabled atm by default on Unix/Mac, since the sample projects won't compile correctly + option( RAKNET_ENABLE_SAMPLES "Generate RakNet sample projects if true." FALSE ) +ENDIF(WIN32 AND NOT UNIX) option( RAKNET_ENABLE_DLL "Generate the DLL project if true." TRUE ) option( RAKNET_ENABLE_STATIC "Generate the static library project if true." TRUE ) option( RAKNET_GENERATE_INCLUDE_ONLY_DIR "Setup a include/RakNet/ directory in which all the headers are copied." FALSE ) @@ -41,7 +87,7 @@ if( RAKNET_GENERATE_INCLUDE_ONLY_DIR ) message( STATUS "DONE: Setting up the ${RAKNET_NAMED_INCLUDE_ONLY_DIR} directory." ) endif() -set( RAKNET_INCLUDE_DIRS ${RAKNETHEADERFILES} ${RAKNET_INCLUDE_ONLY_DIR} PARENT_SCOPE ) # Visible from outside +set( RAKNET_INCLUDE_DIRS ${RAKNETHEADERFILES} ${RAKNET_INCLUDE_ONLY_DIR} ) # Visible from outside include(./CmakeIncludes/CmakeMacros.txt) FIXLINKOPTIONS() @@ -55,4 +101,4 @@ set(RAKNET_COMMON_LIBS RakNetLibStatic) if( RAKNET_ENABLE_SAMPLES ) add_subdirectory(Samples) -endif() \ No newline at end of file +endif() diff --git a/SLikeNet.sln b/SLikeNet.sln index 313de07ad..7bc907dd0 100644 --- a/SLikeNet.sln +++ b/SLikeNet.sln @@ -1,5 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Autopatcher", "Autopatcher", "{82B9C30B-4865-4402-BAF2-D3A40A963216}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Internal Tests", "Internal Tests", "{DC38EF61-0EFD-466D-8045-B0A218A55D93}" @@ -25,9 +25,6 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3D", "3D", "{14AB17BB-293D-404B-B38F-98F05FA9E41B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SQLite", "SQLite", "{56B20300-9D01-40E1-9E83-86A848E51577}" - ProjectSection(SolutionItems) = preProject - DependentExtensions\SQLite3Plugin\readme.txt = DependentExtensions\SQLite3Plugin\readme.txt - EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logger", "Logger", "{EA1D974B-8B73-4E31-869D-5AE601AE58AF}" EndProject @@ -40,871 +37,1803 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RakNet_Backend", "RakNet_Backend", "{DAE1D05B-7F04-4730-AC6F-252D29453F96}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Steam_Backend", "Steam_Backend", "{3F899E6C-E214-4046-A8DE-97ED673EC3DF}" - ProjectSection(SolutionItems) = preProject - Samples\SteamLobby\readme.txt = Samples\SteamLobby\readme.txt - EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scaleform", "Scaleform", "{845008A6-1271-4B6D-96F9-AAB40BA1E2FC}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DLL", "Lib\DLL\DLL_vc9.vcproj", "{BC75CD23-CB75-4233-A305-B7328825A9A5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibStatic", "Lib\LibStatic\LibStatic_vc9.vcproj", "{6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Samples\Ping\Ping_vc9.vcproj", "{A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoice", "Samples\RakVoice\RakVoice_vc9.vcproj", "{25A096E0-645B-4852-913B-400E1C79388E}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Timestamping", "Samples\Timestamping\Timestamping_vc9.vcproj", "{F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Encryption", "Samples\Encryption\Encryption_vc9.vcproj", "{96CA4898-F276-4BF3-9FE0-07CDA5D8321F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FlowControlTest", "Samples\Flow Control Test\FlowControlTest_vc9.vcproj", "{83BECB19-C13D-424F-AFF9-4C353D14269A}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DroppedConnectionTest", "Samples\Dropped Connection Test\DroppedConnectionTest_vc9.vcproj", "{1B2F9B70-FFC0-446D-994E-7DC4E874B112}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LoopbackPerformanceTest", "Samples\LoopbackPerformanceTest\LoopbackPerformanceTest_vc9.vcproj", "{831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LANServerDiscovery", "Samples\LANServerDiscovery\LANServerDiscovery_vc9.vcproj", "{27A95347-2BFC-4EC0-BF1C-D4B66F82302F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReliableOrderedTest", "Samples\Reliable Ordered Test\ReliableOrderedTest_vc9.vcproj", "{1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FullyConnectedMesh", "Samples\Fully Connected Mesh\FullyConnectedMesh_vc9.vcproj", "{3C02D25B-FEBC-4CE3-B671-8902EA109ECC}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BigPacketTest", "Samples\BigPacketTest\BigPacketTest_vc9.vcproj", "{5B38727A-2D86-4235-907D-37A1530392FA}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OfflineMessagesTest", "Samples\OfflineMessagesTest\OfflineMessagesTest_vc9.vcproj", "{D58C47D6-EC1B-4B97-A8F7-79A670935011}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ComprehensiveTest", "Samples\ComprehensiveTest\ComprehensiveTest_vc9.vcproj", "{0360AC80-FD37-42D8-9141-B94B5C99B214}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PacketLoggerTest", "Samples\PacketLogger\PacketLoggerTest_vc9.vcproj", "{CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommandConsoleServer", "Samples\CommandConsoleServer\CommandConsoleServer_vc9.vcproj", "{FAAEA8C7-DB88-4EF2-A78B-2A429283190B}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommandConsoleClient", "Samples\CommandConsoleClient\CommandConsoleClient_vc9.vcproj", "{7F848364-AE8B-46CD-B422-F5E7B86C437E}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDLL", "Samples\TestDLL\TestDLL_vc9.vcproj", "{6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}" - ProjectSection(ProjectDependencies) = postProject - {BC75CD23-CB75-4233-A305-B7328825A9A5} = {BC75CD23-CB75-4233-A305-B7328825A9A5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrossConnectionTest", "Samples\CrossConnectionTest\CrossConnectionTest_vc9.vcproj", "{7F2EDC16-718B-4C88-A50F-A0334791C3E1}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThreadTest", "Samples\ThreadTest\ThreadTest_vc9.vcproj", "{CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectoryDeltaTransfer", "Samples\DirectoryDeltaTransfer\DirectoryDeltaTransfer_vc9.vcproj", "{BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClientRestarter", "Samples\AutopatcherClientRestarter\AutopatcherClientRestarter_vc9.vcproj", "{D1BEED3B-4E09-4D77-9C15-55F596617F43}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherPostgreSQLRepository", "DependentExtensions\Autopatcher\AutopatcherPostgreRepository\AutopatcherPostgreRepository_vc9.vcproj", "{0FD54BD0-C49C-4681-80CE-AA22B8995CA8}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClient", "Samples\AutopatcherClient\AutopatcherClient_vc9.vcproj", "{0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_PostgreSQL", "Samples\AutopatcherServer\AutopatcherServer_vc9.vcproj", "{4BDF263B-655B-4F1D-B42F-65260DC688A6}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - {0FD54BD0-C49C-4681-80CE-AA22B8995CA8} = {0FD54BD0-C49C-4681-80CE-AA22B8995CA8} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrashReporter", "Samples\CrashReporter\CrashReporter_vc9.vcproj", "{F1DC7171-0188-492F-9FC3-733B285836D2}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SendEmail", "Samples\SendEmail\SendEmail_vc9.vcproj", "{9D957691-9B0F-4714-9D62-4E52384F64A4}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chat Example Client", "Samples\Chat Example\Chat Example Client_vc9.vcproj", "{6DC7ADD5-3506-4922-83C8-192196B1FA2C}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chat Example Server", "Samples\Chat Example\Chat Example Server_vc9.vcproj", "{B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessageFilter", "Samples\MessageFilter\MessageFilter_vc9.vcproj", "{FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoiceFMOD", "Samples\RakVoiceFMOD\RakVoiceFMOD_vc9.vcproj", "{3B5312CD-11FB-4E0D-A0F9-68B63765082F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ogre3DInterpDemo", "DependentExtensions\Ogre3DInterpDemo\Ogre3DInterpDemo.vcproj", "{FA98E1BC-2724-4BBA-8A2C-D8E27313638B}" - ProjectSection(ProjectDependencies) = postProject - {BC75CD23-CB75-4233-A305-B7328825A9A5} = {BC75CD23-CB75-4233-A305-B7328825A9A5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoiceDSound", "Samples\RakVoiceDSound\RakVoiceDSound_vc9.vcproj", "{CC15F4DA-8B51-4A97-9E30-B44DDC966565}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_MySQL", "Samples\AutoPatcherServer_MySQL\AutopatcherServer_MySQL.vcproj", "{01A7ED79-2098-4BB5-B5A0-8293210BCB93}" - ProjectSection(ProjectDependencies) = postProject - {9092C339-3CCA-41B4-8B80-FAED313D4168} = {9092C339-3CCA-41B4-8B80-FAED313D4168} - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherMySQLRepository", "DependentExtensions\Autopatcher\AutopatcherMySQLRepository\AutopatcherMySQLRepository.vcproj", "{9092C339-3CCA-41B4-8B80-FAED313D4168}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPC3", "Samples\RPC3\RPC3.vcproj", "{8852F1C1-99FF-4E40-9119-D2DE3B8CC162}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileListTransfer", "Samples\FileListTransfer\FileListTransfer.vcproj", "{E358EC64-EDCD-4981-AFF8-FA208D1487E2}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RoomsPlugin", "Samples\Rooms\Rooms.vcproj", "{1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2Server_PGSQL", "Samples\Lobby2Server_PGSQL\Lobby2Server_PGSQL.vcproj", "{0F5279B1-E16F-4FC3-982B-FB81A1E245A3}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2Client", "Samples\Lobby2Client\Lobby2Client.vcproj", "{B3944CE3-8DF6-4D51-9B8D-459C74932E97}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UDPForwarderTest", "Samples\UDPForwarder\UDPForwarder.vcproj", "{E3420143-65D6-4983-8C72-A919A54DF1D6}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReplicaManager3", "Samples\ReplicaManager3\ReplicaManager3.vcproj", "{DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IrrlichtDemo", "DependentExtensions\IrrlichtDemo\IrrlichtDemo.v8.vcproj", "{DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite3Plugin", "DependentExtensions\SQLite3Plugin\SQLite3Plugin.vcproj", "{AB742113-15EC-4B5C-B95D-555BA034F704}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClientGFx3", "Samples\AutopatcherClientGFx3.0\AutopatcherClientGFx3.0_vc9.vcproj", "{5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2Host", "Samples\FCMHost\FCM2Host.vcproj", "{64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHPDirectoryServer2", "Samples\PHPDirectoryServer2\PHPDirectoryServer2.vcproj", "{0BC48323-6B49-4B29-9961-044BB129F827}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Matrices", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\D3D9\Matrices_2008.vcproj", "{D3D09003-96D0-4629-88B8-122C0256058C}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLiteClientLogger", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\Simple\SQLiteClientLogger.vcproj", "{62DCF9E0-63A5-40AD-9A57-324303C3224C}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLiteServerLogger", "DependentExtensions\SQLite3Plugin\Logger\ServerOnly\SQLiteServerLogger.vcproj", "{E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo_BspCollision", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\Ogre3D\BspCollision_vc9.vcproj", "{1982C73F-3D1C-46A6-9DFB-C7B03310365B}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServerClientTest2", "Samples\ServerClientTest2\ServerClientTest2_vc9.vcproj", "{4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2HostSimultaneous", "Samples\FCMHostSimultaneous\FCM2HostSimultaneous.vcproj", "{0BF7A22B-D0E3-43AB-B117-671432505A80}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessageSizeTest", "Samples\MessageSizeTest\MessageSizeTest_vc9.vcproj", "{80473F60-A149-46B5-AC53-3B7788D897B5}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Router2", "Samples\Router2\Router2_vc9.vcproj", "{E816B863-ACCD-4516-8A4A-DFEE2B321605}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TeamManager", "Samples\TeamManager\TeamManager_vc9.vcproj", "{D2DB51AA-1589-4265-8EB2-57833730A1DE}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NATCompleteServer", "Samples\NATCompleteServer\NATCompleteServer.vcproj", "{7B6311A8-EF51-448C-97EB-07C8A1C8500F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NATCompleteClient", "Samples\NATCompleteClient\NATCompleteClient.vcproj", "{F825FBD1-E87F-4F8A-8275-84544FF0A29D}" - ProjectSection(ProjectDependencies) = postProject - {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8} = {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8} - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SteamLobby", "Samples\SteamLobby\SteamLobby.vcproj", "{369194AC-BF69-4621-A489-B1FB4F509506}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPC4", "Samples\RPC4\RPC4.vcproj", "{6EA9995C-77BE-4E61-BCF0-7956190B75C5}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2ClientGFx3", "Samples\Lobby2ClientGFx3.0\Lobby2ClientGFx3.0.vcproj", "{3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RoomsBrowserGFx3_RakNet", "Samples\RoomsBrowserGFx3\RakNet\RoomsBrowserGFx3_RakNet.vcproj", "{1E7A1DCE-807E-474B-B065-14F8C93A1D6C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TwoWayAuthentication", "Samples\TwoWayAuthentication\TwoWayAuthentication.vcproj", "{F860F6E8-5B0F-4892-99B3-69E5CDA1102A}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudTest", "Samples\CloudTest\CloudTest_vc9.vcproj", "{1B94D21B-D47B-417F-A204-4B3C6FCD9A34}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudServer", "Samples\CloudServer\CloudServer_vc9.vcproj", "{AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudClient", "Samples\CloudClient\CloudClient_vc9.vcproj", "{0CDCA369-127B-4983-9192-39D8368BD71F}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RackspaceConsole", "Samples\RackspaceConsole\RackspaceConsole_vc9.vcproj", "{8C39111A-C201-4609-BF5D-3006336AD536}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BurstTest", "Samples\BurstTest\BurstTest_vc9.vcproj", "{983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadyEvent", "Samples\ReadyEvent\ReadyEvent_vc9.vcproj", "{4F4774E8-C7C4-4F1B-A2BB-B8208F992904}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ComprehensivePCGame", "Samples\ComprehensivePCGame\ComprehensivePCGame_vc9.vcproj", "{71B2CBB9-6C2D-4823-88F3-1AE926BDD726}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2VerifiedJoinSimultaneous", "Samples\FCMVerifiedJoinSimultaneous\FCM2VerifiedJoinSimultaneous.vcproj", "{8E964396-DD16-4A79-9791-BE7438A48E07}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StatisticsHistoryTest", "Samples\StatisticsHistoryTest\StatisticsHistoryTest_vc9.vcproj", "{29FD554B-379B-4A4C-8EB5-A78364809844}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReplicatedLogin", "Samples\ReplicatedLogin\ReplicatedLogin_vc8.vcproj", "{7CFBA142-F9E8-4110-8D5B-4877FA05C481}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MasterServer2", "Samples\MasterServer2\MasterServer2.vcproj", "{56568D04-11BC-43D1-8C0A-FE8F33AE468F}" - ProjectSection(ProjectDependencies) = postProject - {9C7B9410-AEA3-4781-B74C-9C0C093F08DF} = {9C7B9410-AEA3-4781-B74C-9C0C093F08DF} - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RelayPluginTest", "Samples\RelayPluginTest\RelayPluginTest_vc9.vcproj", "{681EA0B1-C533-4C0D-9790-D65E52D1463D}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_SelfScaling", "Samples\AutopatcherServer_SelfScaling\AutopatcherServer_SelfScaling_vc9.vcproj", "{FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{12E0057C-C1E5-4644-9CE2-97F25E6A42B6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JanssonStatic", "Lib\JanssonStatic\JanssonStatic_vc9.vcproj", "{9C7B9410-AEA3-4781-B74C-9C0C093F08DF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DLL", "Lib\DLL\DLL.vcxproj", "{BC75CD23-CB75-4233-A305-B7328825A9A5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibStatic", "Lib\LibStatic\LibStatic.vcxproj", "{6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ping", "Samples\Ping\Ping.vcxproj", "{A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoice", "Samples\RakVoice\RakVoice.vcxproj", "{25A096E0-645B-4852-913B-400E1C79388E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Timestamping", "Samples\Timestamping\Timestamping.vcxproj", "{F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Encryption", "Samples\Encryption\Encryption.vcxproj", "{96CA4898-F276-4BF3-9FE0-07CDA5D8321F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LoopbackPerformanceTest", "Samples\LoopbackPerformanceTest\LoopbackPerformanceTest.vcxproj", "{831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LANServerDiscovery", "Samples\LANServerDiscovery\LANServerDiscovery.vcxproj", "{27A95347-2BFC-4EC0-BF1C-D4B66F82302F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BigPacketTest", "Samples\BigPacketTest\BigPacketTest.vcxproj", "{5B38727A-2D86-4235-907D-37A1530392FA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OfflineMessagesTest", "Samples\OfflineMessagesTest\OfflineMessagesTest.vcxproj", "{D58C47D6-EC1B-4B97-A8F7-79A670935011}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ComprehensiveTest", "Samples\ComprehensiveTest\ComprehensiveTest.vcxproj", "{0360AC80-FD37-42D8-9141-B94B5C99B214}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PacketLoggerTest", "Samples\PacketLogger\PacketLoggerTest.vcxproj", "{CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommandConsoleServer", "Samples\CommandConsoleServer\CommandConsoleServer.vcxproj", "{FAAEA8C7-DB88-4EF2-A78B-2A429283190B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommandConsoleClient", "Samples\CommandConsoleClient\CommandConsoleClient.vcxproj", "{7F848364-AE8B-46CD-B422-F5E7B86C437E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDLL", "Samples\TestDLL\TestDLL.vcxproj", "{6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrossConnectionTest", "Samples\CrossConnectionTest\CrossConnectionTest.vcxproj", "{7F2EDC16-718B-4C88-A50F-A0334791C3E1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThreadTest", "Samples\ThreadTest\ThreadTest.vcxproj", "{CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectoryDeltaTransfer", "Samples\DirectoryDeltaTransfer\DirectoryDeltaTransfer.vcxproj", "{BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClientRestarter", "Samples\AutopatcherClientRestarter\AutopatcherClientRestarter.vcxproj", "{D1BEED3B-4E09-4D77-9C15-55F596617F43}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherPostgreSQLRepository", "DependentExtensions\Autopatcher\AutopatcherPostgreRepository\AutopatcherPostgreRepository.vcxproj", "{0FD54BD0-C49C-4681-80CE-AA22B8995CA8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClient", "Samples\AutopatcherClient\AutopatcherClient.vcxproj", "{0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_PostgreSQL", "Samples\AutopatcherServer\AutopatcherServer.vcxproj", "{4BDF263B-655B-4F1D-B42F-65260DC688A6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrashReporter", "Samples\CrashReporter\CrashReporter.vcxproj", "{F1DC7171-0188-492F-9FC3-733B285836D2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SendEmail", "Samples\SendEmail\SendEmail.vcxproj", "{9D957691-9B0F-4714-9D62-4E52384F64A4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessageFilter", "Samples\MessageFilter\MessageFilter.vcxproj", "{FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoiceFMOD", "Samples\RakVoiceFMOD\RakVoiceFMOD.vcxproj", "{3B5312CD-11FB-4E0D-A0F9-68B63765082F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ogre3DInterpDemo", "DependentExtensions\Ogre3DInterpDemo\Ogre3DInterpDemo.vcxproj", "{FA98E1BC-2724-4BBA-8A2C-D8E27313638B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakVoiceDSound", "Samples\RakVoiceDSound\RakVoiceDSound.vcxproj", "{CC15F4DA-8B51-4A97-9E30-B44DDC966565}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_MySQL", "Samples\AutoPatcherServer_MySQL\AutopatcherServer_MySQL.vcxproj", "{01A7ED79-2098-4BB5-B5A0-8293210BCB93}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherMySQLRepository", "DependentExtensions\Autopatcher\AutopatcherMySQLRepository\AutopatcherMySQLRepository.vcxproj", "{9092C339-3CCA-41B4-8B80-FAED313D4168}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPC3", "Samples\RPC3\RPC3.vcxproj", "{8852F1C1-99FF-4E40-9119-D2DE3B8CC162}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FileListTransfer", "Samples\FileListTransfer\FileListTransfer.vcxproj", "{E358EC64-EDCD-4981-AFF8-FA208D1487E2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RoomsPlugin", "Samples\Rooms\Rooms.vcxproj", "{1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2Server_PGSQL", "Samples\Lobby2Server_PGSQL\Lobby2Server_PGSQL.vcxproj", "{0F5279B1-E16F-4FC3-982B-FB81A1E245A3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2Client", "Samples\Lobby2Client\Lobby2Client.vcxproj", "{B3944CE3-8DF6-4D51-9B8D-459C74932E97}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UDPForwarderTest", "Samples\UDPForwarder\UDPForwarder.vcxproj", "{E3420143-65D6-4983-8C72-A919A54DF1D6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReplicaManager3", "Samples\ReplicaManager3\ReplicaManager3.vcxproj", "{DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IrrlichtDemo", "DependentExtensions\IrrlichtDemo\IrrlichtDemo.vcxproj", "{DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite3Plugin", "DependentExtensions\SQLite3Plugin\SQLite3Plugin.vcxproj", "{AB742113-15EC-4B5C-B95D-555BA034F704}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClientGFx3", "Samples\AutopatcherClientGFx3.0\AutopatcherClientGFx3.0.vcxproj", "{5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2Host", "Samples\FCMHost\FCM2Host.vcxproj", "{64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PHPDirectoryServer2", "Samples\PHPDirectoryServer2\PHPDirectoryServer2.vcxproj", "{0BC48323-6B49-4B29-9961-044BB129F827}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Matrices", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\D3D9\Matrices.vcxproj", "{D3D09003-96D0-4629-88B8-122C0256058C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLiteClientLogger", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\Simple\SQLiteClientLogger.vcxproj", "{62DCF9E0-63A5-40AD-9A57-324303C3224C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLiteServerLogger", "DependentExtensions\SQLite3Plugin\Logger\ServerOnly\SQLiteServerLogger.vcxproj", "{E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo_BspCollision", "DependentExtensions\SQLite3Plugin\Logger\ClientOnly\Samples\Ogre3D\BspCollision.vcxproj", "{1982C73F-3D1C-46A6-9DFB-C7B03310365B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ServerClientTest2", "Samples\ServerClientTest2\ServerClientTest2.vcxproj", "{4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2HostSimultaneous", "Samples\FCMHostSimultaneous\FCM2HostSimultaneous.vcxproj", "{0BF7A22B-D0E3-43AB-B117-671432505A80}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessageSizeTest", "Samples\MessageSizeTest\MessageSizeTest.vcxproj", "{80473F60-A149-46B5-AC53-3B7788D897B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Router2", "Samples\Router2\Router2.vcxproj", "{E816B863-ACCD-4516-8A4A-DFEE2B321605}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TeamManager", "Samples\TeamManager\TeamManager.vcxproj", "{D2DB51AA-1589-4265-8EB2-57833730A1DE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NATCompleteServer", "Samples\NATCompleteServer\NATCompleteServer.vcxproj", "{7B6311A8-EF51-448C-97EB-07C8A1C8500F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NATCompleteClient", "Samples\NATCompleteClient\NATCompleteClient.vcxproj", "{F825FBD1-E87F-4F8A-8275-84544FF0A29D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SteamLobby", "Samples\SteamLobby\SteamLobby.vcxproj", "{369194AC-BF69-4621-A489-B1FB4F509506}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPC4", "Samples\RPC4\RPC4.vcxproj", "{6EA9995C-77BE-4E61-BCF0-7956190B75C5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby2ClientGFx3", "Samples\Lobby2ClientGFx3.0\Lobby2ClientGFx3.0.vcxproj", "{3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RoomsBrowserGFx3_RakNet", "Samples\RoomsBrowserGFx3\RakNet\RoomsBrowserGFx3_RakNet.vcxproj", "{1E7A1DCE-807E-474B-B065-14F8C93A1D6C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TwoWayAuthentication", "Samples\TwoWayAuthentication\TwoWayAuthentication.vcxproj", "{F860F6E8-5B0F-4892-99B3-69E5CDA1102A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudTest", "Samples\CloudTest\CloudTest.vcxproj", "{1B94D21B-D47B-417F-A204-4B3C6FCD9A34}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudServer", "Samples\CloudServer\CloudServer.vcxproj", "{AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CloudClient", "Samples\CloudClient\CloudClient.vcxproj", "{0CDCA369-127B-4983-9192-39D8368BD71F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RackspaceConsole", "Samples\RackspaceConsole\RackspaceConsole.vcxproj", "{8C39111A-C201-4609-BF5D-3006336AD536}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BurstTest", "Samples\BurstTest\BurstTest.vcxproj", "{983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReadyEvent", "Samples\ReadyEvent\ReadyEvent.vcxproj", "{4F4774E8-C7C4-4F1B-A2BB-B8208F992904}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ComprehensivePCGame", "Samples\ComprehensivePCGame\ComprehensivePCGame.vcxproj", "{71B2CBB9-6C2D-4823-88F3-1AE926BDD726}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FCM2VerifiedJoinSimultaneous", "Samples\FCMVerifiedJoinSimultaneous\FCM2VerifiedJoinSimultaneous.vcxproj", "{8E964396-DD16-4A79-9791-BE7438A48E07}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StatisticsHistoryTest", "Samples\StatisticsHistoryTest\StatisticsHistoryTest.vcxproj", "{29FD554B-379B-4A4C-8EB5-A78364809844}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReplicatedLogin", "Samples\ReplicatedLogin\ReplicatedLogin.vcxproj", "{7CFBA142-F9E8-4110-8D5B-4877FA05C481}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MasterServer2", "Samples\MasterServer2\MasterServer2.vcxproj", "{56568D04-11BC-43D1-8C0A-FE8F33AE468F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RelayPluginTest", "Samples\RelayPluginTest\RelayPluginTest.vcxproj", "{681EA0B1-C533-4C0D-9790-D65E52D1463D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherServer_SelfScaling", "Samples\AutopatcherServer_SelfScaling\AutopatcherServer_SelfScaling.vcxproj", "{FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JanssonStatic", "Lib\JanssonStatic\JanssonStatic.vcxproj", "{9C7B9410-AEA3-4781-B74C-9C0C093F08DF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniupnpcStatic", "Lib\MiniupnpcStatic\MiniupnpcStatic.vcxproj", "{65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClient_SelfScaling", "Samples\AutopatcherClient_SelfScaling\AutopatcherClient_SelfScaling.vcxproj", "{3B56A136-5D23-4761-89A5-DAFF61EDB1FD}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniupnpcStatic", "Lib\MiniupnpcStatic\MiniupnpcStatic_vc9.vcproj", "{65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PacketConsoleLogger", "Samples\PacketConsoleLogger\PacketConsoleLogger.vcxproj", "{F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AutopatcherClient_SelfScaling", "Samples\AutopatcherClient_SelfScaling\AutopatcherClient_SelfScaling_vc9.vcproj", "{3B56A136-5D23-4761-89A5-DAFF61EDB1FD}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby3", "Samples\Lobby3\Lobby3.vcxproj", "{A0A60230-5642-4315-9011-8BAC2E03C66E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PacketConsoleLogger", "Samples\PacketConsoleLogger\PacketConsoleLogger_vc9.vcproj", "{F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}" - ProjectSection(ProjectDependencies) = postProject - {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} = {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chat Example Client", "Samples\ChatExample\Client\Chat Example Client.vcxproj", "{6DC7ADD5-3506-4922-83C8-192196B1FA2C}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lobby3", "Samples\Lobby3\Lobby3.vcproj", "{A0A60230-5642-4315-9011-8BAC2E03C66E}" - ProjectSection(ProjectDependencies) = postProject - {9C7B9410-AEA3-4781-B74C-9C0C093F08DF} = {9C7B9410-AEA3-4781-B74C-9C0C093F08DF} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chat Example Server", "Samples\ChatExample\Server\Chat Example Server.vcxproj", "{B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FullyConnectedMesh", "Samples\FullyConnectedMesh\FullyConnectedMesh.vcxproj", "{3C02D25B-FEBC-4CE3-B671-8902EA109ECC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DroppedConnectionTest", "Samples\DroppedConnectionTest\DroppedConnectionTest.vcxproj", "{1B2F9B70-FFC0-446D-994E-7DC4E874B112}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FlowControlTest", "Samples\FlowControlTest\FlowControlTest.vcxproj", "{83BECB19-C13D-424F-AFF9-4C353D14269A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReliableOrderedTest", "Samples\ReliableOrderedTest\ReliableOrderedTest.vcxproj", "{1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "RakNet_Backwards_Compatibility", "RakNet_Backwards_Compatibility", "{6A8D12D1-73D7-4FCB-AB53-B158C1BBFB10}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakNet_DLL", "Lib\DLL\raknet_dll.vcxproj", "{D42766D4-ABB8-4E22-84AE-F7FC37340D29}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakNet_LibStatic", "Lib\LibStatic\raknet_libstatic.vcxproj", "{0C61475E-7749-43FF-9B64-777F230F1214}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakNet_JanssonStatic", "Lib\JanssonStatic\raknet_janssonstatic.vcxproj", "{880147CF-60B6-4FF7-B85E-4CD351F62B93}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RakNet_MiniupnpcStatic", "Lib\MiniupnpcStatic\raknet_miniupnpcstatic.vcxproj", "{A728620F-F319-4760-98C9-23F661B84BC7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug - Unicode|Win32 = Debug - Unicode|Win32 + Debug - Unicode|x64 = Debug - Unicode|x64 Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 + Release - Unicode|Win32 = Release - Unicode|Win32 + Release - Unicode|x64 = Release - Unicode|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 + Retail - Unicode|Win32 = Retail - Unicode|Win32 + Retail - Unicode|x64 = Retail - Unicode|x64 + Retail|Win32 = Retail|Win32 + Retail|x64 = Retail|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug|Win32.ActiveCfg = Debug|Win32 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug|Win32.Build.0 = Debug|Win32 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug|x64.ActiveCfg = Debug|x64 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Debug|x64.Build.0 = Debug|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release|Win32.ActiveCfg = Release|Win32 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release|Win32.Build.0 = Release|Win32 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release|x64.ActiveCfg = Release|x64 {BC75CD23-CB75-4233-A305-B7328825A9A5}.Release|x64.Build.0 = Release|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail|Win32.ActiveCfg = Retail|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail|Win32.Build.0 = Retail|Win32 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail|x64.ActiveCfg = Retail|x64 + {BC75CD23-CB75-4233-A305-B7328825A9A5}.Retail|x64.Build.0 = Retail|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug|Win32.ActiveCfg = Debug|Win32 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug|Win32.Build.0 = Debug|Win32 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug|x64.ActiveCfg = Debug|x64 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Debug|x64.Build.0 = Debug|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release|Win32.ActiveCfg = Release|Win32 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release|Win32.Build.0 = Release|Win32 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release|x64.ActiveCfg = Release|x64 {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Release|x64.Build.0 = Release|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail|Win32.ActiveCfg = Retail|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail|Win32.Build.0 = Retail|Win32 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail|x64.ActiveCfg = Retail|x64 + {6533BDAE-0F0C-45E4-8FE7-ADD0F37FE063}.Retail|x64.Build.0 = Retail|x64 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug|Win32.ActiveCfg = Debug|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug|Win32.Build.0 = Debug|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Debug|x64.ActiveCfg = Debug|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release|Win32.ActiveCfg = Release|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release|Win32.Build.0 = Release|Win32 {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Release|x64.ActiveCfg = Release|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail|Win32.ActiveCfg = Retail|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail|Win32.Build.0 = Retail|Win32 + {A6394A1F-8F49-4492-B1F0-15EAD0F3D9BB}.Retail|x64.ActiveCfg = Retail|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Debug|Win32.ActiveCfg = Debug|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Debug|Win32.Build.0 = Debug|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Debug|x64.ActiveCfg = Debug|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Release|Win32.ActiveCfg = Release|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Release|Win32.Build.0 = Release|Win32 {25A096E0-645B-4852-913B-400E1C79388E}.Release|x64.ActiveCfg = Release|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail|Win32.ActiveCfg = Retail|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail|Win32.Build.0 = Retail|Win32 + {25A096E0-645B-4852-913B-400E1C79388E}.Retail|x64.ActiveCfg = Retail|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug|Win32.ActiveCfg = Debug|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug|Win32.Build.0 = Debug|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Debug|x64.ActiveCfg = Debug|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release|Win32.ActiveCfg = Release|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release|Win32.Build.0 = Release|Win32 {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Release|x64.ActiveCfg = Release|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail|Win32.ActiveCfg = Retail|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail|Win32.Build.0 = Retail|Win32 + {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA}.Retail|x64.ActiveCfg = Retail|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug|Win32.ActiveCfg = Debug|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug|Win32.Build.0 = Debug|Win32 {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Debug|x64.ActiveCfg = Debug|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release|Win32.ActiveCfg = Release|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release|Win32.Build.0 = Release|Win32 {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Release|x64.ActiveCfg = Release|Win32 - {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug|Win32.ActiveCfg = Debug|Win32 - {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug|x64.ActiveCfg = Debug|Win32 - {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release|Win32.ActiveCfg = Release|Win32 - {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release|x64.ActiveCfg = Release|Win32 - {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug|x64.ActiveCfg = Debug|Win32 - {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release|Win32.ActiveCfg = Release|Win32 - {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release|x64.ActiveCfg = Release|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail|Win32.ActiveCfg = Retail|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail|Win32.Build.0 = Retail|Win32 + {96CA4898-F276-4BF3-9FE0-07CDA5D8321F}.Retail|x64.ActiveCfg = Retail|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug|Win32.ActiveCfg = Debug|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug|Win32.Build.0 = Debug|Win32 {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Debug|x64.ActiveCfg = Debug|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release|Win32.ActiveCfg = Release|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release|Win32.Build.0 = Release|Win32 {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Release|x64.ActiveCfg = Release|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail|Win32.ActiveCfg = Retail|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail|Win32.Build.0 = Retail|Win32 + {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4}.Retail|x64.ActiveCfg = Retail|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug|Win32.ActiveCfg = Debug|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug|Win32.Build.0 = Debug|Win32 {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Debug|x64.ActiveCfg = Debug|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release|Win32.ActiveCfg = Release|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release|Win32.Build.0 = Release|Win32 {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Release|x64.ActiveCfg = Release|Win32 - {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug|x64.ActiveCfg = Debug|Win32 - {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release|Win32.ActiveCfg = Release|Win32 - {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release|x64.ActiveCfg = Release|Win32 - {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug|Win32.ActiveCfg = Debug|Win32 - {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug|x64.ActiveCfg = Debug|Win32 - {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release|Win32.ActiveCfg = Release|Win32 - {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release|x64.ActiveCfg = Release|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail|Win32.ActiveCfg = Retail|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail|Win32.Build.0 = Retail|Win32 + {27A95347-2BFC-4EC0-BF1C-D4B66F82302F}.Retail|x64.ActiveCfg = Retail|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {5B38727A-2D86-4235-907D-37A1530392FA}.Debug|Win32.ActiveCfg = Debug|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Debug|Win32.Build.0 = Debug|Win32 {5B38727A-2D86-4235-907D-37A1530392FA}.Debug|x64.ActiveCfg = Debug|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {5B38727A-2D86-4235-907D-37A1530392FA}.Release|Win32.ActiveCfg = Release|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Release|Win32.Build.0 = Release|Win32 {5B38727A-2D86-4235-907D-37A1530392FA}.Release|x64.ActiveCfg = Release|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail|Win32.ActiveCfg = Retail|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail|Win32.Build.0 = Retail|Win32 + {5B38727A-2D86-4235-907D-37A1530392FA}.Retail|x64.ActiveCfg = Retail|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug|Win32.ActiveCfg = Debug|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug|Win32.Build.0 = Debug|Win32 {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Debug|x64.ActiveCfg = Debug|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release|Win32.ActiveCfg = Release|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release|Win32.Build.0 = Release|Win32 {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Release|x64.ActiveCfg = Release|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail|Win32.ActiveCfg = Retail|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail|Win32.Build.0 = Retail|Win32 + {D58C47D6-EC1B-4B97-A8F7-79A670935011}.Retail|x64.ActiveCfg = Retail|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug|Win32.ActiveCfg = Debug|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug|Win32.Build.0 = Debug|Win32 {0360AC80-FD37-42D8-9141-B94B5C99B214}.Debug|x64.ActiveCfg = Debug|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release|Win32.ActiveCfg = Release|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release|Win32.Build.0 = Release|Win32 {0360AC80-FD37-42D8-9141-B94B5C99B214}.Release|x64.ActiveCfg = Release|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail|Win32.ActiveCfg = Retail|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail|Win32.Build.0 = Retail|Win32 + {0360AC80-FD37-42D8-9141-B94B5C99B214}.Retail|x64.ActiveCfg = Retail|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug|Win32.Build.0 = Debug|Win32 {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Debug|x64.ActiveCfg = Debug|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release|Win32.ActiveCfg = Release|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release|Win32.Build.0 = Release|Win32 {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Release|x64.ActiveCfg = Release|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail|Win32.ActiveCfg = Retail|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail|Win32.Build.0 = Retail|Win32 + {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8}.Retail|x64.ActiveCfg = Retail|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug|Win32.ActiveCfg = Debug|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug|Win32.Build.0 = Debug|Win32 {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Debug|x64.ActiveCfg = Debug|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release|Win32.ActiveCfg = Release|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release|Win32.Build.0 = Release|Win32 {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Release|x64.ActiveCfg = Release|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail|Win32.ActiveCfg = Retail|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail|Win32.Build.0 = Retail|Win32 + {FAAEA8C7-DB88-4EF2-A78B-2A429283190B}.Retail|x64.ActiveCfg = Retail|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug|Win32.ActiveCfg = Debug|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug|Win32.Build.0 = Debug|Win32 {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Debug|x64.ActiveCfg = Debug|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release|Win32.ActiveCfg = Release|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release|Win32.Build.0 = Release|Win32 {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Release|x64.ActiveCfg = Release|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail|Win32.ActiveCfg = Retail|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail|Win32.Build.0 = Retail|Win32 + {7F848364-AE8B-46CD-B422-F5E7B86C437E}.Retail|x64.ActiveCfg = Retail|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug|Win32.ActiveCfg = Debug|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug|Win32.Build.0 = Debug|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Debug|x64.ActiveCfg = Debug|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release|Win32.ActiveCfg = Release|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release|Win32.Build.0 = Release|Win32 {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Release|x64.ActiveCfg = Release|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail|Win32.ActiveCfg = Retail|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail|Win32.Build.0 = Retail|Win32 + {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04}.Retail|x64.ActiveCfg = Retail|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug|Win32.ActiveCfg = Debug|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug|Win32.Build.0 = Debug|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Debug|x64.ActiveCfg = Debug|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release|Win32.ActiveCfg = Release|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release|Win32.Build.0 = Release|Win32 {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Release|x64.ActiveCfg = Release|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail|Win32.ActiveCfg = Retail|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail|Win32.Build.0 = Retail|Win32 + {7F2EDC16-718B-4C88-A50F-A0334791C3E1}.Retail|x64.ActiveCfg = Retail|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug|Win32.ActiveCfg = Debug|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug|Win32.Build.0 = Debug|Win32 {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Debug|x64.ActiveCfg = Debug|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release|Win32.ActiveCfg = Release|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release|Win32.Build.0 = Release|Win32 {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Release|x64.ActiveCfg = Release|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail|Win32.ActiveCfg = Retail|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail|Win32.Build.0 = Retail|Win32 + {CCBEEB8B-9415-4C5A-8617-A3BEFC2DDF43}.Retail|x64.ActiveCfg = Retail|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug|Win32.ActiveCfg = Debug|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug|Win32.Build.0 = Debug|Win32 {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Debug|x64.ActiveCfg = Debug|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release|Win32.ActiveCfg = Release|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release|Win32.Build.0 = Release|Win32 {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Release|x64.ActiveCfg = Release|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail|Win32.ActiveCfg = Retail|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail|Win32.Build.0 = Retail|Win32 + {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E}.Retail|x64.ActiveCfg = Retail|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug|Win32.ActiveCfg = Debug|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug|Win32.Build.0 = Debug|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Debug|x64.ActiveCfg = Debug|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release|Win32.ActiveCfg = Release|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release|Win32.Build.0 = Release|Win32 {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Release|x64.ActiveCfg = Release|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail|Win32.ActiveCfg = Retail|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail|Win32.Build.0 = Retail|Win32 + {D1BEED3B-4E09-4D77-9C15-55F596617F43}.Retail|x64.ActiveCfg = Retail|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug|Win32.ActiveCfg = Debug|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug|Win32.Build.0 = Debug|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Debug|x64.ActiveCfg = Debug|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release|Win32.ActiveCfg = Release|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release|Win32.Build.0 = Release|Win32 {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Release|x64.ActiveCfg = Release|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail|Win32.ActiveCfg = Retail|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail|Win32.Build.0 = Retail|Win32 + {0FD54BD0-C49C-4681-80CE-AA22B8995CA8}.Retail|x64.ActiveCfg = Retail|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug|Win32.ActiveCfg = Debug|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug|Win32.Build.0 = Debug|Win32 {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Debug|x64.ActiveCfg = Debug|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release|Win32.ActiveCfg = Release|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release|Win32.Build.0 = Release|Win32 {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Release|x64.ActiveCfg = Release|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail|Win32.ActiveCfg = Retail|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail|Win32.Build.0 = Retail|Win32 + {0D0A2B9B-1423-484A-8A40-9E67FD72BD4F}.Retail|x64.ActiveCfg = Retail|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug|Win32.ActiveCfg = Debug|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug|Win32.Build.0 = Debug|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Debug|x64.ActiveCfg = Debug|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release|Win32.ActiveCfg = Release|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release|Win32.Build.0 = Release|Win32 {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Release|x64.ActiveCfg = Release|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail|Win32.ActiveCfg = Retail|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail|Win32.Build.0 = Retail|Win32 + {4BDF263B-655B-4F1D-B42F-65260DC688A6}.Retail|x64.ActiveCfg = Retail|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug|Win32.ActiveCfg = Debug|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug|Win32.Build.0 = Debug|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Debug|x64.ActiveCfg = Debug|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Release|Win32.ActiveCfg = Release|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Release|Win32.Build.0 = Release|Win32 {F1DC7171-0188-492F-9FC3-733B285836D2}.Release|x64.ActiveCfg = Release|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail|Win32.ActiveCfg = Retail|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail|Win32.Build.0 = Retail|Win32 + {F1DC7171-0188-492F-9FC3-733B285836D2}.Retail|x64.ActiveCfg = Retail|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug|Win32.ActiveCfg = Debug|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug|Win32.Build.0 = Debug|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Debug|x64.ActiveCfg = Debug|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release|Win32.ActiveCfg = Release|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release|Win32.Build.0 = Release|Win32 {9D957691-9B0F-4714-9D62-4E52384F64A4}.Release|x64.ActiveCfg = Release|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|Win32.ActiveCfg = Debug|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|Win32.Build.0 = Debug|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|x64.ActiveCfg = Debug|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|Win32.ActiveCfg = Release|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|Win32.Build.0 = Release|Win32 - {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|x64.ActiveCfg = Release|Win32 - {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug|Win32.ActiveCfg = Debug|Win32 - {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug|x64.ActiveCfg = Debug|Win32 - {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release|Win32.ActiveCfg = Release|Win32 - {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release|x64.ActiveCfg = Release|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail|Win32.ActiveCfg = Retail|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail|Win32.Build.0 = Retail|Win32 + {9D957691-9B0F-4714-9D62-4E52384F64A4}.Retail|x64.ActiveCfg = Retail|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug|Win32.ActiveCfg = Debug|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug|Win32.Build.0 = Debug|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Debug|x64.ActiveCfg = Debug|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release|Win32.ActiveCfg = Release|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release|Win32.Build.0 = Release|Win32 {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Release|x64.ActiveCfg = Release|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail|Win32.ActiveCfg = Retail|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail|Win32.Build.0 = Retail|Win32 + {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F}.Retail|x64.ActiveCfg = Retail|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug|Win32.ActiveCfg = Debug|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug|Win32.Build.0 = Debug|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Debug|x64.ActiveCfg = Debug|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release|Win32.ActiveCfg = Release|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release|Win32.Build.0 = Release|Win32 {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Release|x64.ActiveCfg = Release|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail|Win32.ActiveCfg = Retail|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail|Win32.Build.0 = Retail|Win32 + {3B5312CD-11FB-4E0D-A0F9-68B63765082F}.Retail|x64.ActiveCfg = Retail|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug|Win32.ActiveCfg = Debug|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug|Win32.Build.0 = Debug|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Debug|x64.ActiveCfg = Debug|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release|Win32.ActiveCfg = Release|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release|Win32.Build.0 = Release|Win32 {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Release|x64.ActiveCfg = Release|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail|Win32.ActiveCfg = Retail|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail|Win32.Build.0 = Retail|Win32 + {FA98E1BC-2724-4BBA-8A2C-D8E27313638B}.Retail|x64.ActiveCfg = Retail|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug|Win32.ActiveCfg = Debug|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug|Win32.Build.0 = Debug|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Debug|x64.ActiveCfg = Debug|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release|Win32.ActiveCfg = Release|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release|Win32.Build.0 = Release|Win32 {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Release|x64.ActiveCfg = Release|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail|Win32.ActiveCfg = Retail|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail|Win32.Build.0 = Retail|Win32 + {CC15F4DA-8B51-4A97-9E30-B44DDC966565}.Retail|x64.ActiveCfg = Retail|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug|Win32.ActiveCfg = Debug|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug|Win32.Build.0 = Debug|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Debug|x64.ActiveCfg = Debug|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release|Win32.ActiveCfg = Release|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release|Win32.Build.0 = Release|Win32 {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Release|x64.ActiveCfg = Release|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail|Win32.ActiveCfg = Retail|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail|Win32.Build.0 = Retail|Win32 + {01A7ED79-2098-4BB5-B5A0-8293210BCB93}.Retail|x64.ActiveCfg = Retail|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug|Win32.ActiveCfg = Debug|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug|Win32.Build.0 = Debug|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Debug|x64.ActiveCfg = Debug|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release|Win32.ActiveCfg = Release|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release|Win32.Build.0 = Release|Win32 {9092C339-3CCA-41B4-8B80-FAED313D4168}.Release|x64.ActiveCfg = Release|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail|Win32.ActiveCfg = Retail|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail|Win32.Build.0 = Retail|Win32 + {9092C339-3CCA-41B4-8B80-FAED313D4168}.Retail|x64.ActiveCfg = Retail|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug|Win32.ActiveCfg = Debug|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug|Win32.Build.0 = Debug|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Debug|x64.ActiveCfg = Debug|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release|Win32.ActiveCfg = Release|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release|Win32.Build.0 = Release|Win32 {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Release|x64.ActiveCfg = Release|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail|Win32.ActiveCfg = Retail|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail|Win32.Build.0 = Retail|Win32 + {8852F1C1-99FF-4E40-9119-D2DE3B8CC162}.Retail|x64.ActiveCfg = Retail|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug|Win32.ActiveCfg = Debug|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug|Win32.Build.0 = Debug|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Debug|x64.ActiveCfg = Debug|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release|Win32.ActiveCfg = Release|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release|Win32.Build.0 = Release|Win32 {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Release|x64.ActiveCfg = Release|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail|Win32.ActiveCfg = Retail|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail|Win32.Build.0 = Retail|Win32 + {E358EC64-EDCD-4981-AFF8-FA208D1487E2}.Retail|x64.ActiveCfg = Retail|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug|Win32.ActiveCfg = Debug|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug|Win32.Build.0 = Debug|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Debug|x64.ActiveCfg = Debug|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release|Win32.ActiveCfg = Release|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release|Win32.Build.0 = Release|Win32 {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Release|x64.ActiveCfg = Release|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail|Win32.ActiveCfg = Retail|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail|Win32.Build.0 = Retail|Win32 + {1C145911-F5BF-4D71-B9BE-FEEBCF9F16FA}.Retail|x64.ActiveCfg = Retail|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug|Win32.ActiveCfg = Debug|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug|Win32.Build.0 = Debug|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Debug|x64.ActiveCfg = Debug|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release|Win32.ActiveCfg = Release|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release|Win32.Build.0 = Release|Win32 {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Release|x64.ActiveCfg = Release|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail|Win32.ActiveCfg = Retail|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail|Win32.Build.0 = Retail|Win32 + {0F5279B1-E16F-4FC3-982B-FB81A1E245A3}.Retail|x64.ActiveCfg = Retail|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug|Win32.ActiveCfg = Debug|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug|Win32.Build.0 = Debug|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Debug|x64.ActiveCfg = Debug|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release|Win32.ActiveCfg = Release|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release|Win32.Build.0 = Release|Win32 {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Release|x64.ActiveCfg = Release|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail|Win32.ActiveCfg = Retail|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail|Win32.Build.0 = Retail|Win32 + {B3944CE3-8DF6-4D51-9B8D-459C74932E97}.Retail|x64.ActiveCfg = Retail|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug|Win32.ActiveCfg = Debug|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug|Win32.Build.0 = Debug|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Debug|x64.ActiveCfg = Debug|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release|Win32.ActiveCfg = Release|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release|Win32.Build.0 = Release|Win32 {E3420143-65D6-4983-8C72-A919A54DF1D6}.Release|x64.ActiveCfg = Release|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail|Win32.ActiveCfg = Retail|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail|Win32.Build.0 = Retail|Win32 + {E3420143-65D6-4983-8C72-A919A54DF1D6}.Retail|x64.ActiveCfg = Retail|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug|Win32.ActiveCfg = Debug|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug|Win32.Build.0 = Debug|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Debug|x64.ActiveCfg = Debug|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release|Win32.ActiveCfg = Release|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release|Win32.Build.0 = Release|Win32 {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Release|x64.ActiveCfg = Release|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail|Win32.ActiveCfg = Retail|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail|Win32.Build.0 = Retail|Win32 + {DDB05460-44AD-48E5-A0DF-2F267B8BAEB9}.Retail|x64.ActiveCfg = Retail|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug|Win32.ActiveCfg = Debug|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug|Win32.Build.0 = Debug|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Debug|x64.ActiveCfg = Debug|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release|Win32.ActiveCfg = Release|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release|Win32.Build.0 = Release|Win32 {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Release|x64.ActiveCfg = Release|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail|Win32.ActiveCfg = Retail|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail|Win32.Build.0 = Retail|Win32 + {DEDB9D76-00E6-4230-8612-0B5AC0F3D5E8}.Retail|x64.ActiveCfg = Retail|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug|Win32.ActiveCfg = Debug|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug|Win32.Build.0 = Debug|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Debug|x64.ActiveCfg = Debug|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Release|Win32.ActiveCfg = Release|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Release|Win32.Build.0 = Release|Win32 {AB742113-15EC-4B5C-B95D-555BA034F704}.Release|x64.ActiveCfg = Release|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail|Win32.ActiveCfg = Retail|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail|Win32.Build.0 = Retail|Win32 + {AB742113-15EC-4B5C-B95D-555BA034F704}.Retail|x64.ActiveCfg = Retail|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug|Win32.ActiveCfg = Debug|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug|Win32.Build.0 = Debug|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Debug|x64.ActiveCfg = Debug|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release|Win32.ActiveCfg = Release|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release|Win32.Build.0 = Release|Win32 {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Release|x64.ActiveCfg = Release|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail|Win32.ActiveCfg = Retail|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail|Win32.Build.0 = Retail|Win32 + {5BCE2D70-53B4-42F9-ABFE-1BC26E59C4FD}.Retail|x64.ActiveCfg = Retail|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug|Win32.ActiveCfg = Debug|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug|Win32.Build.0 = Debug|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Debug|x64.ActiveCfg = Debug|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release|Win32.ActiveCfg = Release|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release|Win32.Build.0 = Release|Win32 {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Release|x64.ActiveCfg = Release|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail|Win32.ActiveCfg = Retail|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail|Win32.Build.0 = Retail|Win32 + {64EEE2EC-DF4C-4B9A-9C6E-1995C49ADD11}.Retail|x64.ActiveCfg = Retail|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Debug|Win32.ActiveCfg = Debug|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Debug|Win32.Build.0 = Debug|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Debug|x64.ActiveCfg = Debug|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Release|Win32.ActiveCfg = Release|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Release|Win32.Build.0 = Release|Win32 {0BC48323-6B49-4B29-9961-044BB129F827}.Release|x64.ActiveCfg = Release|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail|Win32.ActiveCfg = Retail|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail|Win32.Build.0 = Retail|Win32 + {0BC48323-6B49-4B29-9961-044BB129F827}.Retail|x64.ActiveCfg = Retail|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 {D3D09003-96D0-4629-88B8-122C0256058C}.Debug|Win32.ActiveCfg = Debug|Win32 {D3D09003-96D0-4629-88B8-122C0256058C}.Debug|Win32.Build.0 = Debug|Win32 {D3D09003-96D0-4629-88B8-122C0256058C}.Debug|x64.ActiveCfg = Debug|x64 {D3D09003-96D0-4629-88B8-122C0256058C}.Debug|x64.Build.0 = Debug|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 {D3D09003-96D0-4629-88B8-122C0256058C}.Release|Win32.ActiveCfg = Release|Win32 {D3D09003-96D0-4629-88B8-122C0256058C}.Release|Win32.Build.0 = Release|Win32 {D3D09003-96D0-4629-88B8-122C0256058C}.Release|x64.ActiveCfg = Release|x64 {D3D09003-96D0-4629-88B8-122C0256058C}.Release|x64.Build.0 = Release|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail|Win32.ActiveCfg = Retail|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail|Win32.Build.0 = Retail|Win32 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail|x64.ActiveCfg = Retail|x64 + {D3D09003-96D0-4629-88B8-122C0256058C}.Retail|x64.Build.0 = Retail|x64 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug|Win32.ActiveCfg = Debug|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug|Win32.Build.0 = Debug|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Debug|x64.ActiveCfg = Debug|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release|Win32.ActiveCfg = Release|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release|Win32.Build.0 = Release|Win32 {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Release|x64.ActiveCfg = Release|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail|Win32.ActiveCfg = Retail|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail|Win32.Build.0 = Retail|Win32 + {62DCF9E0-63A5-40AD-9A57-324303C3224C}.Retail|x64.ActiveCfg = Retail|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug|Win32.ActiveCfg = Debug|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug|Win32.Build.0 = Debug|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Debug|x64.ActiveCfg = Debug|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release|Win32.ActiveCfg = Release|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release|Win32.Build.0 = Release|Win32 {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Release|x64.ActiveCfg = Release|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail|Win32.ActiveCfg = Retail|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail|Win32.Build.0 = Retail|Win32 + {E0B645F2-CDE7-4C1B-A0E2-A0457DCCD0E3}.Retail|x64.ActiveCfg = Retail|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug|Win32.ActiveCfg = Debug|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug|Win32.Build.0 = Debug|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Debug|x64.ActiveCfg = Debug|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release|Win32.ActiveCfg = Release|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release|Win32.Build.0 = Release|Win32 {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Release|x64.ActiveCfg = Release|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail|Win32.ActiveCfg = Retail|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail|Win32.Build.0 = Retail|Win32 + {1982C73F-3D1C-46A6-9DFB-C7B03310365B}.Retail|x64.ActiveCfg = Retail|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug|Win32.ActiveCfg = Debug|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug|Win32.Build.0 = Debug|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Debug|x64.ActiveCfg = Debug|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release|Win32.ActiveCfg = Release|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release|Win32.Build.0 = Release|Win32 {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Release|x64.ActiveCfg = Release|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail|Win32.ActiveCfg = Retail|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail|Win32.Build.0 = Retail|Win32 + {4533A6E8-8EA3-4ACF-B97C-ECCA2DD22487}.Retail|x64.ActiveCfg = Retail|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug|Win32.ActiveCfg = Debug|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug|Win32.Build.0 = Debug|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Debug|x64.ActiveCfg = Debug|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release|Win32.ActiveCfg = Release|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release|Win32.Build.0 = Release|Win32 {0BF7A22B-D0E3-43AB-B117-671432505A80}.Release|x64.ActiveCfg = Release|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail|Win32.ActiveCfg = Retail|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail|Win32.Build.0 = Retail|Win32 + {0BF7A22B-D0E3-43AB-B117-671432505A80}.Retail|x64.ActiveCfg = Retail|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug|Win32.ActiveCfg = Debug|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug|Win32.Build.0 = Debug|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Debug|x64.ActiveCfg = Debug|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Release|Win32.ActiveCfg = Release|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Release|Win32.Build.0 = Release|Win32 {80473F60-A149-46B5-AC53-3B7788D897B5}.Release|x64.ActiveCfg = Release|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail|Win32.ActiveCfg = Retail|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail|Win32.Build.0 = Retail|Win32 + {80473F60-A149-46B5-AC53-3B7788D897B5}.Retail|x64.ActiveCfg = Retail|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug|Win32.ActiveCfg = Debug|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug|Win32.Build.0 = Debug|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Debug|x64.ActiveCfg = Debug|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release|Win32.ActiveCfg = Release|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release|Win32.Build.0 = Release|Win32 {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Release|x64.ActiveCfg = Release|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail|Win32.ActiveCfg = Retail|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail|Win32.Build.0 = Retail|Win32 + {E816B863-ACCD-4516-8A4A-DFEE2B321605}.Retail|x64.ActiveCfg = Retail|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug|Win32.ActiveCfg = Debug|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug|Win32.Build.0 = Debug|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Debug|x64.ActiveCfg = Debug|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release|Win32.ActiveCfg = Release|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release|Win32.Build.0 = Release|Win32 {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Release|x64.ActiveCfg = Release|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail|Win32.ActiveCfg = Retail|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail|Win32.Build.0 = Retail|Win32 + {D2DB51AA-1589-4265-8EB2-57833730A1DE}.Retail|x64.ActiveCfg = Retail|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug|Win32.ActiveCfg = Debug|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug|Win32.Build.0 = Debug|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Debug|x64.ActiveCfg = Debug|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release|Win32.ActiveCfg = Release|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release|Win32.Build.0 = Release|Win32 {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Release|x64.ActiveCfg = Release|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail|Win32.ActiveCfg = Retail|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail|Win32.Build.0 = Retail|Win32 + {7B6311A8-EF51-448C-97EB-07C8A1C8500F}.Retail|x64.ActiveCfg = Retail|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug|Win32.ActiveCfg = Debug|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug|Win32.Build.0 = Debug|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Debug|x64.ActiveCfg = Debug|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release|Win32.ActiveCfg = Release|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release|Win32.Build.0 = Release|Win32 {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Release|x64.ActiveCfg = Release|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail|Win32.ActiveCfg = Retail|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail|Win32.Build.0 = Retail|Win32 + {F825FBD1-E87F-4F8A-8275-84544FF0A29D}.Retail|x64.ActiveCfg = Retail|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Debug|Win32.ActiveCfg = Debug|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Debug|Win32.Build.0 = Debug|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Debug|x64.ActiveCfg = Debug|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Release|Win32.ActiveCfg = Release|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Release|Win32.Build.0 = Release|Win32 {369194AC-BF69-4621-A489-B1FB4F509506}.Release|x64.ActiveCfg = Release|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail|Win32.ActiveCfg = Retail|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail|Win32.Build.0 = Retail|Win32 + {369194AC-BF69-4621-A489-B1FB4F509506}.Retail|x64.ActiveCfg = Retail|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug|Win32.ActiveCfg = Debug|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug|Win32.Build.0 = Debug|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Debug|x64.ActiveCfg = Debug|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release|Win32.ActiveCfg = Release|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release|Win32.Build.0 = Release|Win32 {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Release|x64.ActiveCfg = Release|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail|Win32.ActiveCfg = Retail|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail|Win32.Build.0 = Retail|Win32 + {6EA9995C-77BE-4E61-BCF0-7956190B75C5}.Retail|x64.ActiveCfg = Retail|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug|Win32.ActiveCfg = Debug|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug|Win32.Build.0 = Debug|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Debug|x64.ActiveCfg = Debug|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release|Win32.ActiveCfg = Release|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release|Win32.Build.0 = Release|Win32 {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Release|x64.ActiveCfg = Release|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail|Win32.ActiveCfg = Retail|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail|Win32.Build.0 = Retail|Win32 + {3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}.Retail|x64.ActiveCfg = Retail|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug|Win32.ActiveCfg = Debug|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug|Win32.Build.0 = Debug|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Debug|x64.ActiveCfg = Debug|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release|Win32.ActiveCfg = Release|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release|Win32.Build.0 = Release|Win32 {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Release|x64.ActiveCfg = Release|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail|Win32.ActiveCfg = Retail|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail|Win32.Build.0 = Retail|Win32 + {1E7A1DCE-807E-474B-B065-14F8C93A1D6C}.Retail|x64.ActiveCfg = Retail|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug|Win32.ActiveCfg = Debug|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug|Win32.Build.0 = Debug|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Debug|x64.ActiveCfg = Debug|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release|Win32.ActiveCfg = Release|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release|Win32.Build.0 = Release|Win32 {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Release|x64.ActiveCfg = Release|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail|Win32.ActiveCfg = Retail|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail|Win32.Build.0 = Retail|Win32 + {F860F6E8-5B0F-4892-99B3-69E5CDA1102A}.Retail|x64.ActiveCfg = Retail|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug|Win32.ActiveCfg = Debug|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug|Win32.Build.0 = Debug|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Debug|x64.ActiveCfg = Debug|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release|Win32.ActiveCfg = Release|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release|Win32.Build.0 = Release|Win32 {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Release|x64.ActiveCfg = Release|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail|Win32.ActiveCfg = Retail|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail|Win32.Build.0 = Retail|Win32 + {1B94D21B-D47B-417F-A204-4B3C6FCD9A34}.Retail|x64.ActiveCfg = Retail|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug|Win32.ActiveCfg = Debug|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug|Win32.Build.0 = Debug|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Debug|x64.ActiveCfg = Debug|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release|Win32.ActiveCfg = Release|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release|Win32.Build.0 = Release|Win32 {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Release|x64.ActiveCfg = Release|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail|Win32.ActiveCfg = Retail|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail|Win32.Build.0 = Retail|Win32 + {AC5D8934-E93C-492E-BEF4-16EEA03E0AC3}.Retail|x64.ActiveCfg = Retail|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug|Win32.ActiveCfg = Debug|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug|Win32.Build.0 = Debug|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Debug|x64.ActiveCfg = Debug|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Release|Win32.ActiveCfg = Release|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Release|Win32.Build.0 = Release|Win32 {0CDCA369-127B-4983-9192-39D8368BD71F}.Release|x64.ActiveCfg = Release|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail|Win32.ActiveCfg = Retail|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail|Win32.Build.0 = Retail|Win32 + {0CDCA369-127B-4983-9192-39D8368BD71F}.Retail|x64.ActiveCfg = Retail|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Debug|Win32.ActiveCfg = Debug|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Debug|Win32.Build.0 = Debug|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Debug|x64.ActiveCfg = Debug|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Release|Win32.ActiveCfg = Release|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Release|Win32.Build.0 = Release|Win32 {8C39111A-C201-4609-BF5D-3006336AD536}.Release|x64.ActiveCfg = Release|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail|Win32.ActiveCfg = Retail|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail|Win32.Build.0 = Retail|Win32 + {8C39111A-C201-4609-BF5D-3006336AD536}.Retail|x64.ActiveCfg = Retail|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug|Win32.ActiveCfg = Debug|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug|Win32.Build.0 = Debug|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Debug|x64.ActiveCfg = Debug|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release|Win32.ActiveCfg = Release|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release|Win32.Build.0 = Release|Win32 {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Release|x64.ActiveCfg = Release|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail|Win32.ActiveCfg = Retail|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail|Win32.Build.0 = Retail|Win32 + {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193}.Retail|x64.ActiveCfg = Retail|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug|Win32.ActiveCfg = Debug|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug|Win32.Build.0 = Debug|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Debug|x64.ActiveCfg = Debug|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release|Win32.ActiveCfg = Release|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release|Win32.Build.0 = Release|Win32 {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Release|x64.ActiveCfg = Release|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail|Win32.ActiveCfg = Retail|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail|Win32.Build.0 = Retail|Win32 + {4F4774E8-C7C4-4F1B-A2BB-B8208F992904}.Retail|x64.ActiveCfg = Retail|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug|Win32.ActiveCfg = Debug|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug|Win32.Build.0 = Debug|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Debug|x64.ActiveCfg = Debug|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release|Win32.ActiveCfg = Release|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release|Win32.Build.0 = Release|Win32 {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Release|x64.ActiveCfg = Release|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail|Win32.ActiveCfg = Retail|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail|Win32.Build.0 = Retail|Win32 + {71B2CBB9-6C2D-4823-88F3-1AE926BDD726}.Retail|x64.ActiveCfg = Retail|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug|Win32.ActiveCfg = Debug|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug|Win32.Build.0 = Debug|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Debug|x64.ActiveCfg = Debug|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Release|Win32.ActiveCfg = Release|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Release|Win32.Build.0 = Release|Win32 {8E964396-DD16-4A79-9791-BE7438A48E07}.Release|x64.ActiveCfg = Release|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail|Win32.ActiveCfg = Retail|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail|Win32.Build.0 = Retail|Win32 + {8E964396-DD16-4A79-9791-BE7438A48E07}.Retail|x64.ActiveCfg = Retail|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug|Win32.ActiveCfg = Debug|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug|Win32.Build.0 = Debug|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Debug|x64.ActiveCfg = Debug|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Release|Win32.ActiveCfg = Release|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Release|Win32.Build.0 = Release|Win32 {29FD554B-379B-4A4C-8EB5-A78364809844}.Release|x64.ActiveCfg = Release|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail|Win32.ActiveCfg = Retail|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail|Win32.Build.0 = Retail|Win32 + {29FD554B-379B-4A4C-8EB5-A78364809844}.Retail|x64.ActiveCfg = Retail|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug|Win32.ActiveCfg = Debug|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug|Win32.Build.0 = Debug|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Debug|x64.ActiveCfg = Debug|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release|Win32.ActiveCfg = Release|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release|Win32.Build.0 = Release|Win32 {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Release|x64.ActiveCfg = Release|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail|Win32.ActiveCfg = Retail|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail|Win32.Build.0 = Retail|Win32 + {7CFBA142-F9E8-4110-8D5B-4877FA05C481}.Retail|x64.ActiveCfg = Retail|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug|Win32.ActiveCfg = Debug|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug|Win32.Build.0 = Debug|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Debug|x64.ActiveCfg = Debug|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release|Win32.ActiveCfg = Release|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release|Win32.Build.0 = Release|Win32 {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Release|x64.ActiveCfg = Release|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail|Win32.ActiveCfg = Retail|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail|Win32.Build.0 = Retail|Win32 + {56568D04-11BC-43D1-8C0A-FE8F33AE468F}.Retail|x64.ActiveCfg = Retail|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug|Win32.ActiveCfg = Debug|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug|Win32.Build.0 = Debug|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Debug|x64.ActiveCfg = Debug|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release|Win32.ActiveCfg = Release|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release|Win32.Build.0 = Release|Win32 {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Release|x64.ActiveCfg = Release|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail|Win32.ActiveCfg = Retail|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail|Win32.Build.0 = Retail|Win32 + {681EA0B1-C533-4C0D-9790-D65E52D1463D}.Retail|x64.ActiveCfg = Retail|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug|Win32.ActiveCfg = Debug|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug|Win32.Build.0 = Debug|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Debug|x64.ActiveCfg = Debug|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release|Win32.ActiveCfg = Release|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release|Win32.Build.0 = Release|Win32 {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Release|x64.ActiveCfg = Release|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail|Win32.ActiveCfg = Retail|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail|Win32.Build.0 = Retail|Win32 + {FF3A0728-DF9B-4971-AEC5-B1AFCD5A3120}.Retail|x64.ActiveCfg = Retail|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug|Win32.ActiveCfg = Debug|Win32 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug|Win32.Build.0 = Debug|Win32 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug|x64.ActiveCfg = Debug|x64 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Debug|x64.Build.0 = Debug|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release|Win32.ActiveCfg = Release|Win32 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release|Win32.Build.0 = Release|Win32 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release|x64.ActiveCfg = Release|x64 {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Release|x64.Build.0 = Release|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail|Win32.ActiveCfg = Retail|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail|Win32.Build.0 = Retail|Win32 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail|x64.ActiveCfg = Retail|x64 + {9C7B9410-AEA3-4781-B74C-9C0C093F08DF}.Retail|x64.Build.0 = Retail|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug|Win32.ActiveCfg = Debug|Win32 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug|Win32.Build.0 = Debug|Win32 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug|x64.ActiveCfg = Debug|x64 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Debug|x64.Build.0 = Debug|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release|Win32.ActiveCfg = Release|Win32 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release|Win32.Build.0 = Release|Win32 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release|x64.ActiveCfg = Release|x64 {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Release|x64.Build.0 = Release|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail|Win32.ActiveCfg = Retail|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail|Win32.Build.0 = Retail|Win32 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail|x64.ActiveCfg = Retail|x64 + {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8}.Retail|x64.Build.0 = Retail|x64 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug|Win32.ActiveCfg = Debug|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug|Win32.Build.0 = Debug|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Debug|x64.ActiveCfg = Debug|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release|Win32.ActiveCfg = Release|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release|Win32.Build.0 = Release|Win32 {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Release|x64.ActiveCfg = Release|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail|Win32.ActiveCfg = Retail|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail|Win32.Build.0 = Retail|Win32 + {3B56A136-5D23-4761-89A5-DAFF61EDB1FD}.Retail|x64.ActiveCfg = Retail|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug|Win32.ActiveCfg = Debug|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug|Win32.Build.0 = Debug|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Debug|x64.ActiveCfg = Debug|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release|Win32.ActiveCfg = Release|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release|Win32.Build.0 = Release|Win32 {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Release|x64.ActiveCfg = Release|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail|Win32.ActiveCfg = Retail|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail|Win32.Build.0 = Retail|Win32 + {F3DAA22F-E99A-44CE-9A7A-2E3F6529496E}.Retail|x64.ActiveCfg = Retail|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug|Win32.ActiveCfg = Debug|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug|Win32.Build.0 = Debug|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Debug|x64.ActiveCfg = Debug|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release|Win32.ActiveCfg = Release|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release|Win32.Build.0 = Release|Win32 {A0A60230-5642-4315-9011-8BAC2E03C66E}.Release|x64.ActiveCfg = Release|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail|Win32.ActiveCfg = Retail|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail|Win32.Build.0 = Retail|Win32 + {A0A60230-5642-4315-9011-8BAC2E03C66E}.Retail|x64.ActiveCfg = Retail|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|Win32.ActiveCfg = Debug|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|Win32.Build.0 = Debug|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Debug|x64.ActiveCfg = Debug|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|Win32.ActiveCfg = Release|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|Win32.Build.0 = Release|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Release|x64.ActiveCfg = Release|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail|Win32.ActiveCfg = Retail|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail|Win32.Build.0 = Retail|Win32 + {6DC7ADD5-3506-4922-83C8-192196B1FA2C}.Retail|x64.ActiveCfg = Retail|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug|Win32.ActiveCfg = Debug|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug|Win32.Build.0 = Debug|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Debug|x64.ActiveCfg = Debug|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release|Win32.ActiveCfg = Release|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release|Win32.Build.0 = Release|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Release|x64.ActiveCfg = Release|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail|Win32.ActiveCfg = Retail|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail|Win32.Build.0 = Retail|Win32 + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D}.Retail|x64.ActiveCfg = Retail|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug|Win32.ActiveCfg = Debug|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug|Win32.Build.0 = Debug|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Debug|x64.ActiveCfg = Debug|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release|Win32.ActiveCfg = Release|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release|Win32.Build.0 = Release|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Release|x64.ActiveCfg = Release|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail|Win32.ActiveCfg = Retail|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail|Win32.Build.0 = Retail|Win32 + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC}.Retail|x64.ActiveCfg = Retail|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug|Win32.ActiveCfg = Debug|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug|Win32.Build.0 = Debug|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Debug|x64.ActiveCfg = Debug|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release|Win32.ActiveCfg = Release|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release|Win32.Build.0 = Release|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Release|x64.ActiveCfg = Release|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail|Win32.ActiveCfg = Retail|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail|Win32.Build.0 = Retail|Win32 + {1B2F9B70-FFC0-446D-994E-7DC4E874B112}.Retail|x64.ActiveCfg = Retail|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug|Win32.ActiveCfg = Debug|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug|Win32.Build.0 = Debug|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Debug|x64.ActiveCfg = Debug|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release|Win32.ActiveCfg = Release|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release|Win32.Build.0 = Release|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Release|x64.ActiveCfg = Release|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail|Win32.ActiveCfg = Retail|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail|Win32.Build.0 = Retail|Win32 + {83BECB19-C13D-424F-AFF9-4C353D14269A}.Retail|x64.ActiveCfg = Retail|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug|Win32.ActiveCfg = Debug|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug|Win32.Build.0 = Debug|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Debug|x64.ActiveCfg = Debug|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release - Unicode|x64.ActiveCfg = Release - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release|Win32.ActiveCfg = Release|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release|Win32.Build.0 = Release|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Release|x64.ActiveCfg = Release|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail|Win32.ActiveCfg = Retail|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail|Win32.Build.0 = Retail|Win32 + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB}.Retail|x64.ActiveCfg = Retail|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug|Win32.ActiveCfg = Debug|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug|Win32.Build.0 = Debug|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug|x64.ActiveCfg = Debug|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Debug|x64.Build.0 = Debug|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release|Win32.ActiveCfg = Release|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release|Win32.Build.0 = Release|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release|x64.ActiveCfg = Release|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Release|x64.Build.0 = Release|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail|Win32.ActiveCfg = Retail|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail|Win32.Build.0 = Retail|Win32 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail|x64.ActiveCfg = Retail|x64 + {D42766D4-ABB8-4E22-84AE-F7FC37340D29}.Retail|x64.Build.0 = Retail|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug|Win32.ActiveCfg = Debug|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug|Win32.Build.0 = Debug|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug|x64.ActiveCfg = Debug|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Debug|x64.Build.0 = Debug|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release|Win32.ActiveCfg = Release|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release|Win32.Build.0 = Release|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release|x64.ActiveCfg = Release|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Release|x64.Build.0 = Release|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail|Win32.ActiveCfg = Retail|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail|Win32.Build.0 = Retail|Win32 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail|x64.ActiveCfg = Retail|x64 + {0C61475E-7749-43FF-9B64-777F230F1214}.Retail|x64.Build.0 = Retail|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug|Win32.ActiveCfg = Debug|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug|Win32.Build.0 = Debug|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug|x64.ActiveCfg = Debug|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Debug|x64.Build.0 = Debug|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release|Win32.ActiveCfg = Release|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release|Win32.Build.0 = Release|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release|x64.ActiveCfg = Release|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Release|x64.Build.0 = Release|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail|Win32.ActiveCfg = Retail|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail|Win32.Build.0 = Retail|Win32 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail|x64.ActiveCfg = Retail|x64 + {880147CF-60B6-4FF7-B85E-4CD351F62B93}.Retail|x64.Build.0 = Retail|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug - Unicode|Win32.ActiveCfg = Debug - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug - Unicode|Win32.Build.0 = Debug - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug - Unicode|x64.ActiveCfg = Debug - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug - Unicode|x64.Build.0 = Debug - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug|Win32.ActiveCfg = Debug|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug|Win32.Build.0 = Debug|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug|x64.ActiveCfg = Debug|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Debug|x64.Build.0 = Debug|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release - Unicode|Win32.ActiveCfg = Release - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release - Unicode|Win32.Build.0 = Release - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release - Unicode|x64.ActiveCfg = Release - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release - Unicode|x64.Build.0 = Release - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release|Win32.ActiveCfg = Release|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release|Win32.Build.0 = Release|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release|x64.ActiveCfg = Release|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Release|x64.Build.0 = Release|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail - Unicode|Win32.ActiveCfg = Retail - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail - Unicode|Win32.Build.0 = Retail - Unicode|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail - Unicode|x64.ActiveCfg = Retail - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail - Unicode|x64.Build.0 = Retail - Unicode|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail|Win32.ActiveCfg = Retail|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail|Win32.Build.0 = Retail|Win32 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail|x64.ActiveCfg = Retail|x64 + {A728620F-F319-4760-98C9-23F661B84BC7}.Retail|x64.Build.0 = Retail|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -921,15 +1850,12 @@ Global {F0B736A1-3A14-429B-A1DD-5BB9FC8620BA} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {96CA4898-F276-4BF3-9FE0-07CDA5D8321F} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {27A95347-2BFC-4EC0-BF1C-D4B66F82302F} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} - {3C02D25B-FEBC-4CE3-B671-8902EA109ECC} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {5B38727A-2D86-4235-907D-37A1530392FA} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {D58C47D6-EC1B-4B97-A8F7-79A670935011} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {CE4B288E-4455-411D-BA9D-00D6AFE0B8C8} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {BC349AD2-94A3-4D99-BFD1-02ED5D3F103E} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {F1DC7171-0188-492F-9FC3-733B285836D2} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {9D957691-9B0F-4714-9D62-4E52384F64A4} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} - {6DC7ADD5-3506-4922-83C8-192196B1FA2C} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} - {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {FF9A2D64-8C8A-4DF8-BBEB-36C262BEA71F} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {8852F1C1-99FF-4E40-9119-D2DE3B8CC162} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {E358EC64-EDCD-4981-AFF8-FA208D1487E2} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} @@ -947,10 +1873,10 @@ Global {29FD554B-379B-4A4C-8EB5-A78364809844} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {56568D04-11BC-43D1-8C0A-FE8F33AE468F} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {681EA0B1-C533-4C0D-9790-D65E52D1463D} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} - {83BECB19-C13D-424F-AFF9-4C353D14269A} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} - {1B2F9B70-FFC0-446D-994E-7DC4E874B112} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} + {6DC7ADD5-3506-4922-83C8-192196B1FA2C} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} + {B66086C8-4EBC-42F0-8E8D-AA6D5005B94D} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} + {3C02D25B-FEBC-4CE3-B671-8902EA109ECC} = {13FBC7D3-3E7C-4B4E-8109-BA18A3B549F9} {831362FA-6E71-40C5-AA2F-AAC8DE33FAF4} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} - {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {0360AC80-FD37-42D8-9141-B94B5C99B214} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {6E58C3CC-5323-4C29-9AA0-AFF0C627DB04} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {7F2EDC16-718B-4C88-A50F-A0334791C3E1} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} @@ -963,6 +1889,9 @@ Global {983A44EA-1BC8-4C0F-A8C3-9D340E2CA193} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {8E964396-DD16-4A79-9791-BE7438A48E07} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {7CFBA142-F9E8-4110-8D5B-4877FA05C481} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} + {1B2F9B70-FFC0-446D-994E-7DC4E874B112} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} + {83BECB19-C13D-424F-AFF9-4C353D14269A} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} + {1B7FBE52-9B1B-4203-9D8E-AD7C821E3ADB} = {DC38EF61-0EFD-466D-8045-B0A218A55D93} {25A096E0-645B-4852-913B-400E1C79388E} = {13585819-949F-44EC-B547-30CBB8CF47B7} {3B5312CD-11FB-4E0D-A0F9-68B63765082F} = {13585819-949F-44EC-B547-30CBB8CF47B7} {CC15F4DA-8B51-4A97-9E30-B44DDC966565} = {13585819-949F-44EC-B547-30CBB8CF47B7} @@ -1008,6 +1937,10 @@ Global {1E7A1DCE-807E-474B-B065-14F8C93A1D6C} = {845008A6-1271-4B6D-96F9-AAB40BA1E2FC} {9C7B9410-AEA3-4781-B74C-9C0C093F08DF} = {12E0057C-C1E5-4644-9CE2-97F25E6A42B6} {65DB6F4E-55CC-4ED9-9EA3-CC5900DE70F8} = {12E0057C-C1E5-4644-9CE2-97F25E6A42B6} + {D42766D4-ABB8-4E22-84AE-F7FC37340D29} = {6A8D12D1-73D7-4FCB-AB53-B158C1BBFB10} + {0C61475E-7749-43FF-9B64-777F230F1214} = {6A8D12D1-73D7-4FCB-AB53-B158C1BBFB10} + {880147CF-60B6-4FF7-B85E-4CD351F62B93} = {6A8D12D1-73D7-4FCB-AB53-B158C1BBFB10} + {A728620F-F319-4760-98C9-23F661B84BC7} = {6A8D12D1-73D7-4FCB-AB53-B158C1BBFB10} EndGlobalSection GlobalSection(DPCodeReviewSolutionGUID) = preSolution DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 000000000..c2ca38891 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,87 @@ +legend: ++ = added feature +* = changed feature (bugfixes, changed behavior, etc.) +- = removed feature +*** = special note +#x = refers to the JIRA issue number +PRx = GitHub pull request number +SECURITY = special marker to indicate fixes related to security issues + +If you require a more detailed list on the changes, please refer to the +Subversion repository history at: https://www.slikesoft.com/svn/slikenet/ + +version 0.1.0 (07-26-2017 21:00 UTC) +*** This release satisfies/processes 29 complete and 3 partial GitHub pull requests (up to pull request #78) ++ Initial Release + +The following lists changes compared to RakNet 4.081/4.082: +General: + + added support for VS 2010-2017, GCC 4.6.4-5.4.0, and Xcode 7.3.1 (#1) + + added new retail configuration (#96) + * SECURITY: multiple security fixes + * replaced multi-byte character set support with unicode support (#23) + * fixed mixup between Unicode/MBCS/ANSI character set usage (#23) + * several further changes, fixes, and code cleanup (#6, #9, #11, etc.) + * several documentation updates including a more detailed doxygen documentation (#101) + - dropped support for VS < 2010 and GCC < 4.6.4 (#1) +Core: + General: + * fixed case for Windows includes in WindowsIncludes.h (#42 - PR37) + BitStream: + * fixed <<-operator for BitStream not accepting const parameters (#44 - PR53) + CCRakNetSlidingWindow: + * use std::abs() instead of abs for proper C++11 support in CCRakNetSlidingWindow.cpp (#46 - PR64) + DataStructures: + * minor improvement to DataStructures::Queue:WeightedGraph::GetShortestPath() by replacing Queue::Size() calls with Queue::IsEmpty() (#34 - PR14) + * fixed incorrect DataStructures::Queue-copy-ctor (#26) + NatPunchthrough: + * fixed NatPunchthroughClient::SendOutOfBand() producing undefined messages, if __GET_TIME_64BIT is set to 0 (#38 - PR34) + * fixed TestModeToString() returning non-const char pointer (#35, #59, #65 - PR22, PR31, PR61) + PacketFileLogger: + * fixed incorrectly instantiating/destroying the PacketLogger class instead of the PacketFileLogger when calling PacketFileLogger::GetInstance()/DestroyInstance() (#81) + RakNetSocket2: + * fixed incomplete zeroing of data in RakNetSocket2_Berkley_NativeClient with RAKNET_SUPPORT_IPV6 set to 1 (#31 - PR4) + RakPeer: + * fixed RakPeer::GetTimeoutTime() always returning defaultTimeoutTime (#37 - PR30) + * fixed incorrect delete in RakPeer::DerefAllSockets() when using a custom allocator (#48 - PR72) + * fixed deadlock in ProcessOfflineNetworkPacket() when building with LIBCAT_SECURITY set to 1 (#43) + RakString: + * fixed undefined behavior in RakString::Assign() on non-Windows platforms if either the passed or the formated string exceeds 511 characters (#64 - PR60) + * fixed undefined behavior in RakString::ToWideChar() if called with very long strings (#12) + * fixed undefined behavior in RakString::FromWideChar() if called with very long strings (#102) + * fixed memory/resource leak in RakString format-ctors and Set() method on certain platforms/compilers (#40 - PR36) + ReplicaManager3: + * fixed resource leak caused by ReplicaManager3::OnConstruction() (#45 - PR63) + * fixed comparing pointer to boolean in ReplicaManager3::AutoCreateConnectionList() (#36, #63 - PR29, PR56) + UDPProxy: + * fixed crash in UDPProxyClient::OnPingServers() (#39 - PR35) + * fixed wrong sort order in UDPProxyCoordinator::ForwardingRequestComp() and related incorrectly sorted UDPProxyCoordinator::forwardingRequestList (#47 - PR67) +Extensions: + Autopatcher: + * fixed memory leak in ApplyPatch: TestPatchInMemory() (#32 - PR7) + IrrlichtDemo: + * fixed only partial upgrade of Irrlicht SDK to 1.8 (#91) + XML: + * upgraded XMLParser library from 2.41 to 2.44 (#103) +Samples: + AutopatcherServer: + * fixed broken AutopatcherPostgreRepository2_WithXDelta due to non-overwritten MakePatch()-method (#14) + CloudServer: + * fixed CloudServerHelper::OnJoinCloudResult() setting incorrect default port (#15) + CrossConnectionTest: + * fixed incorrect check for incoming connection in CrossConnectionTest (#33 - PR10) + FileListTransfer: + * fixed FileListTransfer sample passing incorrect values to TCPInterface::Start() (#21) +Building: + General: + * resolved several compile/link errors in specific configurations/projects (#7, #13, #16, #18, #19, #20, #24, #25, #26, #28, #87, #88, #89, #90, #92, #94, #97) + * resolved compile/link warnings (#11) + CMake: + * resolved CMake warnings/issues (#11, #78, #98, #99) + * update to CMake file to support VS 2015 (#46 - PR64) + * updated FindBoost CMake file from CMake 2.8.0 -> CMake 2.8.10.2 (#99) + * updated CMake file to detect FMOD Ex up to version 4.44.59 (#78) + * changed to not build sample projects on Linux/Mac by default (#79) + * fixed CMake not compiling samples by default (#30, #62 - PR51, PR54) + * fixed FindPortAudio CMake module ignoring libPortAudioCpp setting (#29 - PR48) + * fixed incorrect usage of PARENT_SCOPE and missing quoting of env-variable in CMake file (#77 - PR37) \ No newline at end of file diff --git a/license.txt b/license.txt new file mode 100644 index 000000000..605deaa7e --- /dev/null +++ b/license.txt @@ -0,0 +1,61 @@ +MIT License +Copyright © 2016-2017 SLikeSoft™ UG (haftungsbeschränkt) + + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +----------------------------------------------------- +END OF LICENSE + +For further information regarding licensing please refer to chapter 7 in the +readme.txt file alongside this license.txt file. + +In case a future version of SLikeNet is distributed under different license +terms, you may alternatively choose to use this version of SLikeNet under those +later license. + +If you are distributing the SLikeNet source, we also explicitly permit you to +rename (and move) the license.txt file to a different location within the +package without having to update all the references to the location of the +license.txt file, as long as you make it clear in any acoompanying +documentation where to locate the license terms and clarify that the sourcecode +references outdated locations. + +Also we'd like to state that you are not allowed (without prior written +permission from SLikeSoft) to suggest that you, your company, and/or your +product is affiliated with SLikeSoft. + +Please see chapter 7.2 and chapter 2.4 in the readme.txt file for information +about licensed 3rd-party software/code SLikeNet is based on. We'd especially +like to point out the RakNet License (see chapter 7.2.1 in readem.txt, +licenses/RakNet License.txt, and licenses/RakNet Patents.txt) since SLikeNet is +derived from RakNet. + +In addition to the licensing requirements, we'd appreciate if you are +considering the following legally NON binding requests: +- send us a short mail (info@slikesoft.com) to let us know that you are using +our library in your product +- mention in your product / on your webpage that you are using SLikeNet +(provide a link to https://www.slikenet.com/ on your webpage) +- allow us to put your product/company name on our webpage as a reference that +you are using SLikeNet + +As mentioned: None of these optional requests are binding. If you don't feel +like following any of these requests, we are still glad you decided to use our +network library, nevertheless. \ No newline at end of file diff --git a/readme.txt b/readme.txt new file mode 100644 index 000000000..6a6972b64 --- /dev/null +++ b/readme.txt @@ -0,0 +1,2019 @@ +SLikeNet™ 0.1.0 +=============== +Copyright © 2016-2017 SLikeSoft™ UG (haftungsbeschränkt) + +Part of the documentation in this readme file was taken from RakNet 4.082 +readme files. These sections are marked with [partially copied from RakNet]. +Please see licenses/RakNet license.txt for the underlying license and related +copyright. + + +The latest version and information are available at https://www.slikenet.com/ + + + +Table of Contents + 0. Quickstart + 1. What is SLikeNet? + 1.1 History of SLikeNet + 1.2 Version scheme and deprecation process + 1.2.1 Pre 1.0 releases + 1.2.2 Alpha releases + 1.2.3 Beta releases + 1.2.4 1.x.y releases + 1.2.5 2.x.y and following releases + 1.2.6 Client / Server compatibility + 1.2.7 API deprecation and dropping support for 3rd party versions + 1.3 Changes between RakNet (4.081/4.082) and SLikeNet + 2. System/Depedency requirements + 2.1 Limitations on supported OSs, build environments, and 3rd party + libraries + 2.2 Compiler support + 2.3 OS support + 2.4 3rd party libraries/dependencies + 2.4.1 Boost + 2.4.2 BZip2 + 2.4.3 FMOD Ex + 2.4.4 Independent JPEG Group's free JPEG software + 2.4.5 Irrlicht Engine + 2.4.6 irrKlang + 2.4.7 Jansson + 2.4.8 libcatid + 2.4.9 Microsoft DirectX SDK / Microsoft Windows SDK + 2.4.10 MiniUPnP client + 2.4.11 MySQL + 2.4.12 NVIDIA Cg Toolkit + 2.4.13 NVIDIA Compress YCoCg-DXT + 2.4.14 Ogre3D + 2.4.15 OpenSSL + 2.4.16 PortAudio + 2.4.17 PostgreSQL + 2.4.18 Autodesk Scaleform GFx + 2.4.19 speex + 2.4.20 SQLite + 2.4.21 Steamworks SDK + 2.4.22 SWIG + 2.4.23 Xdelta + 2.4.24 XMLParser library + 3. Getting Started + 3.1 Downloading SLikeNet + 3.1.1 Download from the webpage + 3.1.1.1 Verifying the file integrity + 3.1.1.2 Validating the download package + 3.1.2 Downloading via SVN + 3.1.3 Downloading via GIT + 3.2 Using SLikeNet on Windows + 3.2.1 Using prebuilt SLikeNet libraries with Microsoft Visual Studio + 3.2.2 Building SLikeNet yourself with Microsoft Visual Studio + 3.2.3 Provided default libraries + 3.3 Using SLikeNet with Linux and OSX + 3.3.1 Building SLikeNet + 3.4 RakNet compatibility mode + 3.4.1 Migrating from RakNet to SLikeNet + 3.4.2 Building RakNet compatibility mode yourself + 3.4.3 In-place replacement of RakNet + 3.5 Development notes on differences between RakNet and SLikeNet + 3.5.1 General notes + 3.5.2 Retail configuration + 3.5.3 OSX usage of @rpath for install_name + 4. Dependent Extensions + 4.1 AutopatcherMySQLRepository + 4.2 AutopatcherPostgreRepository + 4.3 BspCollision + 4.4 DXTCompressor + 4.5 IrrlichtDemo + 4.6 MySQLInterface + 4.7 Ogre3DInterpDemo + 4.8 Matrices + 4.9 PostgreSQLInterface + 4.10 Rackspace + 4.11 SQLite3Plugin / SQLite3ClientLogger / SQLite3ServerLogger + 4.12 Swig / DLL_Swig + 5. Samples + 5.1 AutopatcherClient + 5.2 AutopatcherClientGFx3.0 + 5.3 AutopatcherClientRestarter + 5.4 AutopatcherClient_SelfScaling + 5.5 AutopatcherServer + 5.6 AutoPatcherServer_MySQL + 5.7 AutopatcherServer_SelfScaling + 5.8 ChatExample + 5.9 CloudClient + 5.10 CloudServer + 5.11 CommandConsoleClient + 5.12 CommandConsoleServer + 5.13 ComprehensivePCGame + 5.14 CrashReporter + 5.15 DirectoryDeltaTransfer + 5.16 Encryption + 5.17 FCM2Host + 5.18 FCM2Host_Simultaneous + 5.19 FCM2VerifiedJoinSimultaneous + 5.20 FullyConnectedMesh + 5.21 iOS ChatClient + 5.22 LANServerDiscovery + 5.23 Lobby2Server_PGSQL + 5.24 MessageFilter + 5.25 NATCompleteClient + 5.26 NATCompleteServer + 5.27 PacketLogger + 5.28 PHPDirectoryServer2 + 5.29 Ping + 5.30 RackspaceConsole + 5.31 RakVoice + 5.32 RakVoiceDSound + 5.33 RakVoiceFMOD / RakVoiceFMODAsDLL / RakVoiceFMODUsingDLL + 5.34 ReadyEvent + 5.35 ReplicaManager3 + 5.36 RoomsPlugin + 5.37 Router2 + 5.38 RPC3 + 5.39 RPC4 + 5.40 SendEmail + 5.41 SteamLobby + 5.42 TeamManager + 5.43 Timestamping + 5.44 TwoWayAuthentication + 5.45 UDP Forwarder + 5.46 WinPhone8 + 6. Help and Support + 6.1 Documenation + 6.2 Contact Information and Support + 7. A word on licensing + 7.1 SLikeNet licensing (core and extended) + 7.2 Licensed Code + 7.2.1 (core) RakNet + 7.2.2 (core) DR_SHA1.cpp/.h (SHA-1 algorithm - version 2.1) + 7.2.3 (core) Rand.cpp (Mersenne Twister random number generator MT19937) + 7.2.4 (core) KBhit.h + 7.2.5 (core) FindBoost.cmake + 7.2.6 (DependentExtension/Autopatcher) ApplyPatch.cpp, CreatePatch.cpp + 7.2.7 (DependentExtension/DXTCompressor) OpenGLWindow.hpp + 7.2.8 (DependentExtension/IrrlichtDemo) FindIrrlicht.cmake, + FindIrrKlang.cmake + 7.2.9 (DependentExtension/IrrlichtDemo) CDemo.cpp/.h, CMainMenu.cpp/.h, + main.cpp + 7.2.10 (DependentExtension/speex related) FindSpeex.cmake, + FindSpeexDSP.cmake + 7.2.11 (DependentExtension/Swig) arrays_csharp.i + 7.2.12 (Samples/nacl_sdk) httpd.py + 7.2.13 (Samples/Ogre3D related) FindOGRE.cmake, FindOIS.cmake, + FindPkgMacros.cmake, PreprocessorUtils.cmake + 7.2.14 (Samples/Ogre3D related) BspCollision.cpp + 8. Thanks / Acknowledgements + 9. Trademark Notes / Affiliation Statement + + + +0. Quickstart + +If you want to get started quickly simply follow these directions: + +Windows™: see chapter 3.2.1 and use the prebuilt libraries +Linux®/OSX: see chapter 3.3.1 +Migrating from RakNet to SLikeNet: see chapter 3.4.1 + +For quick instructions to comply with license requirements see: +licenses/_quick_licensing_slikenet_core.txt and +licenses/_quick_licensing_slikenet_extended.txt + + +1. What is SLikeNet? + +SLikeNet™ is an Open Source/Free Software cross-platform network engine written +in C++ and specifially designed for games (and applications which have +comparable requirements on a network engine like games) building upon the +discontinued RakNet network engine which had more than 13 years of active +development. SLikeNet currently supports Windows, Linux and Mac with limited +support for iPhone®, Android™, and Windows Phone™ 8. +SLikeNet is not a simple rebranding of RakNet, but rather incorporates already +in its initial version several bug- and security fixes as well as changes to +bring the engine back on track with recent compiler and language changes. + +1.1 History of SLikeNet +Like many teenagers in the 90th and in the early years of the 21st century the +developers have been quite into the area of computer games. One of them +actually took his hobby over to the professional life and started a career in +the games industry. Of special interest for him was the area of +multiplayer/network engines which he also took as the topic for his diploma +thesis. +Unfortunately, even after a decade in the industry and despite his passion for +that area, he didn't get the chance to directly work on a multiplayer +integration and could only invest his own spare time in this area. +2014 finally came the opportunity to change that when RakNet +(http://www.jenkinssoftware.com/), which was developed for over 13 years by +Kevin Jenkins / Jenkins Software LLC, got acquired by Oculus VR, LLC. and was +put under an open source license. +Initially the developers thought about mainly becoming an active member of the +community. However, it turned out that since GitHub® wasn't opened up, no +organized community established itself and the idea of the development of +RakNet being taken over by the community didn't come true. +While there were quite a few talented developers who provided patches on +GitHub and helped with providing support, there didn't seem to be any endevour +to get an organizational structure around the continuous development of RakNet. +Hence, to the developers of SLikeNet the question arose how they could actually +help out here and what would be the best way to ensure that RakNet will +continue to thrive for several years to come. The conclusion was to found a +company (SLikeSoft™) and continue the work RakNet left behind under a fresh +name. That should provide a strong fundament and basis for the community to +rely on that their ideas, bugfixes, and features won't get lost but rather will +be integrated/handled in an organized manner. + +1.2 Version scheme and deprecation process +SLikeNet is using the Semantic Versioning (version 2.0.0) authored by Tom +Preston-Werner. See http://semver.org/ for details. + +1.2.1 Pre 1.0 releases +The initial versions on the way towards the 1.0.0 release will use the version +number 0.x.y to reflect the current (early) development stage of SLikeNet. +However, since SLikeNet is heavily based on the very well tested RakNet +library, we consider already these early versions way more stable than what you +would normally excpect from a library with such a version number. +Furthermore, since our aim for SLikeNet 1.0.0 is to keep ABI/API/Protocol +compaitibilty with RakNet 4.081/4.082, we consider the API/ABI/Protocol of the +0.x.y releases already stable and do planto change them only in order to fix +(undesired/unintended) API/ABI/Protocol incompatibility with RakNet which might +have slipped in during development. +Hence, in contrast to what the Semantic Versioning 2.0.0 permits, we are +considering the 0.1.0 API being stable, already. + +1.2.2 Alpha releases +Starting wirh 1.0.0, for each new release we will go through a >= 2-weeks alpha +release period. During this period we will only implement bugfixes which are +considered safe or are fixes for regressions. Anything else will be postponed +and scheduled for a following version. If significant changes need to be made +for the released alpha version, we will release another alpha version and +restart the 2-weeks test period. +The version numbering for alpha releases will be x.y.z-alpha.d where d begins +with 1 and is incremented by 1 for each successive alpha release of the same +version. + +1.2.3 Beta releases +After the alpha version passed without major rework and the risk assessment +concurred, we will release a beta version of the new version which starts the +beta test phase of at least 2 weeks. During that period we will only fix +regressions introduced in the new versions. Anything else will be postponed and +scheduled for a following version. If there is a regression fix during the beta +phase, we will release a new beta version and restart the 2 week test period. +The version numbering will be x.y.z-beta.d where d begins with 1 and is incremented +by 1 for each successive beta release of the same version. + +1.2.4 1.x.y releases +The 1.x.y releases will ensure API, ABI, and protocol compatibility with RakNet +4.081/4.082. This way we allow everybody currently using RakNet in their +product to perform a simple in-place test of SLikeNet with as little work as +possible. In principle it will allow you to test SLikeNet by simply replacing +the RakNet DLLs without even having to recompile your game/application. If you +linked RakNet statically, all you need to do is to link against the SLikeNet +library. No other changes should be required. You can even run a client built +with RakNet 4.082 and connect it to a SLikeNet 1.x.y server (or vice versa). + +1.2.5 2.x.y and following releases +2.0.0 will be the first release which breaks backwards compatibility with +RakNet. This allows us to integrate performance improvements and new features +which would otherwise be impossible to realize with keeping backwards +compatibility with RakNet. The server as well as the connecting clients will +require both at least running SLikeNet 2.0.0 in order to work together. + +1.2.6 Client / Server compatibility +Any x.y.z version will always be compatible with any other x.y.z version as +long as x is the same (or differs by only 1 digit and is at least 2). For +instance: Running a server on 3.0.0 allows clients running 2.x.y up to 4.x.y to +connect to that server. From the other point of view: A client running version +4.0.0 can connect to any server running 3.x.y up to 5.x.y. + +1.2.7 API deprecation and dropping support for 3rd party versions +From time to time we need to deprecate APIs/functions/classes/etc. In some +cases this is done in order to keep the network engine maintainable, in other +cases we might have to deprecate APIs for security reasons. For versions +>= 2.0.0 we will make sure that any API which is deprecated is still available +for the next major release (i.e. if we deprecate a version in 2.x.y, it will +still be available for all 3.x.y releases but will be dropped in 4.0.0). The +same goes for the deprecation of old 3rd party libraries. +There are however a couple of cases where we might deviate from this procedure. +Examples could be that security fixes require us to deprecate an API or 3rd +party library already earlier or we might deprecate 3rd party library versions +which are incompatible with new compilers. To comply with the Semantic +Versioning 2.0.0 we will announce the deprecation of the API/3rd-party library +version at least in a sub version of the current major release branch and then +remove it in the following major release. +For instance, if we learn that there's a security flaw in SLikeNet 2.0.5 which +requires a change to the API we mark the problematic function deprecated and +release 2.1.0. In the following 3.0.0 release the function will then be +removed. + +1.3 Changes between RakNet (4.081/4.082) and SLikeNet +RakNet 4.081 was the final release of RakNet with 4.082 having been in +development. SLikeNet is based on the sourcecode of RakNet 4.082 and aims for +API, ABI, and protocol compatibility with RakNet 4.081/4.082. +That way it's possible to use (and evaluate) SLikeNet as an in-place +replacement for RakNet. + +The major differences/improvements of SLikeNet over RakNet are: +- added support for the latest compilers and dropped support for older + compilers +- added support for newer versions of 3rd-party libraries +- security enhancements (f.e. by fixing buffer overflows, using security + enhanced CRT functions, replacing obsolete less secure CRT functions with + up-to-date ones, etc.) +- replaced Multi-Byte Character support with Unicode support +- warning free compiling/linking (i.e. warnings RakNet triggered when building + the source were resolved) +- easier way to get started with SLikeNet by providing precompiled libraries + and easily loadable/upgradable solution/project files for recent Visual + Studio versions +- extended documentation +- countless bugfixes and improvements (see changelog.txt for details) + +There are also a couple of restrictions SLikeNet has when comparing its feature +set with RakNet. Some of them are going to be dealt with in later versions, +some of them however are not planned to be resolved. If any of the missing +features/support is causing you trouble to try out SLikeNet, drop us a note +(see chapter 6) and we'll see whether we find a solution for you. +There are mainly the following reasons behind this decision: +a) license restrictions prevent us to provide the same support RakNet used to +provide (marked with "licensing" in the following list) +b) we intentionally dropped support, so to reduce the maintenance work and be +able to make use of new language and 3rd-party-library features (marked with +"deprecated" in the following list) +c) especially for the first versions we had to prioritize the work and had to +postpone work on certain parts but are planning to do so in later versions +(marked with "later in the following list) + +The following list presents the known restrictions: +- dropped support for old/outdated libraries (deprecated) +- dropped support for old compilers (deprecated) +- removed the following source code files/directories: + - DependentExtensions/DXTCompressor/External/include/*.h (deprecated) + - DependentExtensions/DXTCompressor/External/include/GL/glext.h + (deprecated) + - DependentExtensions/IrrlichtDemo/irrKlang-1.1.3/*.* (licensing) + - DependentExtensions/IrrlichtDemo/irrKlang.dll (licensing) + - Samples/Marmalade (licensing) + - Samples/AutopatcherClientGFx3.0/GFxPlayerTinyD3D9.cpp (licensing) + - Samples/Lobby2ClientGFx3.0/GFxPlayerTinyD3D9.cpp (licensing) + - Samples/RoomsBrowserGFx3/GFxPlayerTinyD3D9.cpp (licensing) +- dropped support for the following platforms (licensing): + - Xbox 360® + - PlayStation® Vita + - Playstation 3 +- limited support for iOS, Android, Windows Phone 8 (later) +- limited support for Samples and Tests (later) +- limited support for RakVoiceFMOD (later) +- limited support for SWIG and the C# interface (later) +- missing support for server related features like Lobby3, MaterServer, + MasterServer2, etc. (later) + + + +2. System/Depedency requirements + +2.1 Limitations on supported OSs, build environments, and 3rd party libraries +SLikeNet supports a brought variety of different compilers, OSs, build tools, +and 3rd part libraries. +We are aiming to provide a stable environment for our users to have SLikeNet +build with the supported compilers/build tools/3rd party librares and run on +all the supported OSs. +Obviously it's unfeasible to test each release with all possible combinations +of compilers(-versions), on all OSs, and with all versions of the 3rd party +dependencies. +Therefore, we decided to restrict the full support as follows: + +Compiler/Build tools: +We only provide full support for the latest patch release of a compiler. That +means that for the Visual Studio 2013 compiler we only support VS 2013 Update 5 +(but not Update 1 to Update 4 and also not the unpatched Visual Studio 2013 +compiler). + +OSs: +We test SLikeNet on the fully patched earliest and on the latest version of the +supported OS. Full support is only provided for the operation systems listed +below. For instance we support Microsoft™ Windows XP but only if Service Pack 3 +is installed (and all available OS patches are applied). Windows XP without any +service pack or only SP1/SP1a/SP2 installed is unsupported. + +3rd party libraries: +3rd party libraries are tested with the earliest supported version and the +latest supported one. Furthermore, we are only supporting the latest patch +release of a 3rd-party library. As an example this means that we support Boost +1.46.1 but not Boost 1.46.0. + +By restricting the support we certainly don't mean that SLikeNet won't work +with a compiler version, 3rd party library version or OS version which is not +listed here. It simply means that we haven't tested that combination and you +might run into issues or warnings might show up during the build. SLikeNet +however might still work just fine. +If your prefered (build) environment is not listed here and you'd like to get +full support for it, please contact us (see chapter 6) so we can see whether we +can add full support for your combination. +If a compiler/OS/3rd party is listed as supported, we are considering any issue +SLikeNet runs into with that environment a problem we have to deal with. If +however you are running into problems with an unsupported combination (for +instance the code not being compilable with an ancient version of Visual Studio +like VC6) we might in the end ask you to upgrade to one of the supported +compilers/OSs/3rd-party libraries. + +A special note on Xcode® / OSX support: +Our test capabilities are limited on OSX atm. Therefore, we cannot test +SLikeNet at the moment on any other compiler than the one listed below. Since +RakNet originally supported the OSXSDK 10.5+ we are listing that version as +limited support. If you are testing SLikeNet with an older version of Xcode and +are running into any issues, we'd appreciate a short note (preferably with the +compiler error output). + +Xbox 360/Playstation Vita/Playstation 3: +RakNet originally supported these platforms. Presumably due to license +restrictions the support couldn't be made open source however. If you require +support for these platforms, please contact us (see chapter 6). + +2.2 Compiler support + Microsoft Visual Studio™: 2010 SP1, 2012 Update 1, 2013 Update 5, 2015 + Update 3, 2017 15.2 (26430.16) + GNU Compiler Collection: 4.6.4, 4.7.4, 4.8.5, 4.9.3, 5.4.0 + Xcode: 7.3.1 (limited support for 3.0+ with OSXSDK 10.5+) + CMake®: 2.6.4 2.8.12.2, 3.0.2, 3.1.3, 3.2.3, 3.3.2, 3.4.3, 3.5.2, 3.6.3, + 3.7.2 + +2.3 OS support + Microsoft Windows: Windows XP (SP3), Windows XP x64 (SP2), Windows Vista® + (SP2), Windows 7 (SP1), Windows 8.1, + Windows 10 (1607 / 1703) + Linux: Ubuntu 14.04/16.04 + OSX: 10.12 (Sierra) (limited support for 10.5 (Leopard) and later) + +2.4 3rd party libraries/dependencies +While the SLikeNet core engine does not rely on any 3rd party library, several +samples, dependent extensions and also certain optional SLikeNet features make +heavy use of 3rd party libraries/code. This chapter provides an overview of +which 3rd party libraries are used for which configurations/samples and which +versions are supported. +3rd party libraries which are bundled with SLikeNet are marked as such. For +these we also list the 3rd party library's license and reference the location +of the license file. + +2.4.1 Boost + Description: Boost provides free peer-reviewed portable C++ source + libraries. + URL: https://www.boost.org/ + Supported versions: 1.34.1, 1.35.0, 1.36.0, 1.37.0, 1.38.0, 1.39.0, 1.40.0, + 1.41.0, 1.42.0, 1.43.0, 1.44.0, 1.45.0, 1.46.1, 1.47.0, + 1.48.0 + Used in: + - Ogre3dInterpDemo (see 4.7) + - RPC3 (see 5.38) + +2.4.2 BZip2 + Description: bzip2 is a freely available, patent free, high-quality data + compressor. + URL: http://www.bzip.org/ + Supported versions: 1.0.6 (bundled) + Used in: + - AutopatcherClient_SelfScaling (see 5.4) + - AutopatcherClientGFx3.0 (see 5.2) + - AutopatcherMySQLRepository (see 4.1) + - AutopatcherPostgreRepository (see 4.2) + - AutopatcherServer (see 5.5) + - AutopatcherServer_MySQL (see 5.6) + - AutopatcherServer_SelfScaling (see 5.7) + License: BSD style License + License file(s): licenses/bzip2 license.txt + +2.4.3 FMOD® Ex + Description: FMOD is a sound effects engine for video games and applications + developed by Firelight Technologies Pty Ltd. + URL: https://www.fmod.com/ + Supported versions: 4.38.07+ + Used in: + - RakVoiceFMOD (see 5.33) + +2.4.4 Independent JPEG Group's free JPEG software + Description: A package containing C software to implement JPEG image + encoding, decoding, and transcoding. + URL: http://www.ijg.org/ + Supported versions: version 7 (6b for Microsoft DirectX® - 8d for Irrlicht + Engine) (version 7 is bundled) + Used in: + - Irrlicht Engine (see 2.4.5) + - Microsoft DirectX (see 2.4.9) + - SQLite3ServerLogger (see 4.11) + License: Independent JPEG Group License + License file(s): licenses/jpglib license v6b.txt, licenses/jpglib + license v7.txt, licenses/jpglib license v8d.txt + + Note: + A different license (GPL) applies to ansi2knr.c. This source code file is + however not used by the SQLite3ServerLogger integration and hence doesn't + have any license implications there. For the usage in Microsoft DirectX and + the Irrlicht Engine we can't make an explicit statement, though. + +2.4.5 Irrlicht Engine + Description: The Irrlicht Engine is an open source high performance realtime + 3D engine wirtten in C++. + URL: http://irrlicht.sourceforge.net/ + Supported versions: 1.8.4 (some binary files bundled) + Dependencies: + - Independent JPEG Group's free JPEG software (see 2.4.4) + Used in: + - IrrlichtDemo (see 4.5) + License: libpng™/zlib license + License file(s): licenses/Irrlicht Engine License.txt, libpng license.txt, + zlib license.txt + +2.4.6 irrKlang + Description: irrKlang is a cross platform sound library for C++, C# and all + .NET languages. + URL: http://www.ambiera.com/irrklang/ + Supported versions: 1.1.3 + Used in: + - IrrlichtDemo (see 4.5) + +2.4.7 Jansson + Description: Jansson is a C library for encoding, decoding and manipulating + JSON data. + URL: http://www.digip.org/jansson/ + Supported versions: 2.4 (bundled) + Used in: + - AutopatcherServer_SelfScaling (see 5.7) + - ComprehensivePCGame (see 5.13) + - Rackspace (see 4.10) + License: MIT License + License file(s): licenses/Jansson License.txt + +2.4.8 libcatid + Description: CatId Common Code Library - a collection of different code + snippets. + URL: https://github.com/catid/libcat + Supported versions: 1.0 (bundled) + Used in: + - Core (if LIBCAT_SECURITY is set to 1) + License: Modified BSD License + License file(s): licenses/libcatid license.txt + +2.4.9 Microsoft DirectX SDK / Microsoft Windows SDK + Description: DirectX is a set of low-level APIs for creating games and other + high-performance multimedia applications. + Note: As of Windows SDK 8.0 DirectX was integrated into the Windows SDK and + is no longer shipped as a separate SDK. + URL: https://msdn.microsoft.com/library/windows/apps/hh452744 + Supported versions: DirectX SDK June 2010 (Matrices contains modified DX + sample source code and uses some DX resource files) / + WinPhone8: Windows SDK 8.0, 8.0A, 8.1, 8.1A, 10 (builds: + 10.0.10240.0, 10.0.10586.212, 10.0.14393.795, + 10.0.15063.0) + Dependencies: + - Independent JPEG Group's free JPEG software (see 2.4.4) + Used in: + - AutopatcherClientGFx3.0 (see 5.2) + - Matrices (see 4.8) + - Ogre3D (see 2.4.14) + - RakVoiceDSound (see 5.32) + - WinPhone8 (see 5.46) + License: Microsoft Software License Terms - Microsoft DirectX Software + Development Kit (SDK) + License file(s): licenses/DirectX SDK EULA.txt + +2.4.10 MiniUPnP client + Description: A UPnP Internet Gateway Device (IGD) control point. + URL: http://miniupnp.free.fr/ + Supported versions: 1.7 pre-release (1.5 for IrrlichtDemo) (bundled) + Used in: + - ComprehensivePCGame (see 5.13) + - IrrlichtDemo (see 4.5) + - NATCompleteClient (see 5.25) + License: Modified BSD License + License file(s): licenses/MiniUPnP License.txt + Notes: + bsdqueue.h has separate license terms (also licensed under the Modified BSD + License, however). + +2.4.11 MySQL® + Description: MySQL is the world's most popular open source database. + URL: https://www.mysql.com/ + Supported versions: 5.1.30 + Used in: + - AutopatcherMySQLRepository (see 4.1) + - AutoPatcherServer_MySQL (see 5.6) + - MySQLInterface (see 4.6) + +2.4.12 NVIDIA® Cg Toolkit + Description: The Cg Toolkit is a legacy NVIDIA toolkit allowing to use + programmable shading with Cg. + URL: https://developer.nvidia.com/cg-toolkit + Supported versions: 2.2 (bundled) + Used in: + - DXTCompressor (see 4.4) + License: NVIDIA licese + License file(s): licenses/NVIDIA Cg Toolkit.txt + +2.4.13 NVIDIA Compress YCoCg-DXT + Description: This example demonstrates how a pixel shader can be used to + compress a dynamically rendered color map into a texture, using + both the DXT1 and YCoCg-DXT5 texture formats. + URL: http://developer.download.nvidia.com/SDK/10/opengl/samples.html#compress_YCoCgDXT + Supported versions: version downloaded 04/17/2017 (partially bundled with + modifications) + Used in: + - DXTCompressor (see 4.4) + License: NVIDIA license, GLEW: Modified BSD License and MIT License + License file(s): licenses/NVIDIA Compress YCoCg-DXT.txt, + licenses/glut license.txt + Notes: + NVIDIA Compress YCoCg-DXT contains a version of GLUT which appears to have + been a continuation by Mark J. Kilgard of the discontinued OpenGL Utility + Toolkit. The contained glut.h header file suggests it is freely + distributable and doesn't specify a separate license. Furthermore, it + bundles GLEW (The OpenGL Wrangler Extension Library) 1.5.0. + +2.4.14 Ogre3D + Description: OGRE (Object-Oriented Graphics Rendering Engine) is a + scene-oriented, flexible 3D engine written in C++ designed to + make it easier and more intuitive for developers to produce + games and demos utilising 3D harware. + URL: http://www.ogre3d.org/ + Supported versions: 1.7.4 + Dependencies: + - Microsoft DirectX SDK (see 2.4.9) + Used in: + - BspCollision (see 4.3) + - Ogre3DInterpDemo (see 4.7) + +2.4.15 OpenSSL® + Description: OpenSSL is an open source project that provides a robust, + commercial-grade, and full-featured toolkit for the Transport + Layer Security (TLS) and Secure Socket Layer (SSL) protocols. + It is also a general-purpose cryptography library. + URL: https://www.openssl.org/ + Supported versions: 1.0.0d (bundled) + Used in: + - Core (if OPEN_SSL_CLIENT_SUPPORT is set to 1) + License: BSD-style license + License file(s): licenses/OpenSSL License.txt + +2.4.16 PortAudio + Description: PortAudio is a free, cross-platform, open-source, audio I/O + library. + URL: http://www.portaudio.com/ + Supported versions: v18.1 (bundled) + Used in: + - RakVoice (see 5.31) + License: MIT-style License + License file(s): PortAudio License.txt + +2.4.17 PostgreSQL® + Description: PostgreSQL is a powerful, open source object-relational + database system. + URL: https://www.postgresql.org/ + Supported versions: 9.1.24 + Used in: + - AutopatcherPostgreRepository (see 4.2) + - AutopatcherServer (see 5.5) + - AutopatcherServer_SelfScaling (see 5.7) + - PostgreSQLInterface (see 4.9) + - Lobby2Server_PGSQL (see 5.23) + +2.4.18 Autodesk® Scaleform® GFx + Description: Autodesk Scaleform middleware provides a design-driven workflow + for creating powerful and immersive user interface (UI) + environments for PCs, game consoles, mobile devies, and + consumer electronics. + URL: https://www.autodesk.com/products/scaleform/overview + Supported versions: 3.x + Used in: + - AutopatcherClientGFx3.0 (see 5.2) + +2.4.19 speex + Description: Speex is an OpenSource/Free Software patent-free audio + compression format designed for speech. + URL: https://www.speex.org/ + Supported versions: 1.1.12 (bundled) + Used in: + - RakVoice (see 5.31) + - RakVoiceDSound (see 5.32) + - RakVoiceFMOD (see 5.33) + - RakVoiceFMODAsDLL (see 5.33) + - RakVoiceFMODUsingDLL (see 5.33) + License: Modified BSD License + License file(s): licenses/speex license.txt + +2.4.20 SQLite® + Description: SQLite is a self-contained, high-reliability, embedded, + full-featured, public-domain, SQL database engine. SQLite is + the most used database engine in the world. + URL: https://www.sqlite.org/ + Supported versions: 3.6.13 (bundled) + Used in: + - BspCollision (see 4.3) + - Matrices (see 4.8) + - SQLite3Plugin (see 4.11) + - SQLite3ClientLogger (see 4.11) + - SQLite3ServerLogger (see 4.11) + License: Public Domain + License file(s): n/A + +2.4.21 Steamworks® SDK + Description: Steamworks is a free suite of tools available to any developer + to use in their game or software on Steam®. + URL: https://partner.steamgames.com/ + Supported versions: 1.15-1.23a + Used in: + - SteamLobby (see 5.41) + +2.4.22 SWIG + Description: SWIG is a software development tool that connects programs + written in C and C++ with a variety of high-level programming + languages. + URL: http://www.swig.org/ + Supported versions: 2.0.1 + Used in: + - Swig (see 4.12) + +2.4.23 Xdelta + Description: Xdelta is a C library and command-line tool for delta + compression using VCDIFF/RFC 3284 steams. + URL: http://xdelta.org/ + Supported versions: 3.0.6 + Used in: + - AutopatcherServer_SelfScaling (see 5.7) + +2.4.24 XMLParser library + Description: This is a basic XML parser written in ANSI C++ for portability. + URL: http://www.applied-mathematics.net/tools/xmlParser.html + Supported versions: 2.44 (bundled) + Used in: + - RoomsBrowserGFx3 (not yet documented) + License: Modified BSD License + License file(s): licenses/xmlParser license.txt + + + +3. Getting Started + +We provide different ways to build and integrate SLikeNet yourself. For +Windows, we also provide prebuilt libraries to make it as painless as possible +for you to get started. +Furthermore, if you are currently using RakNet 4.081/4.082, we provide a +compatibility mode which allows you to build SLikeNet without any code changes +on your side as an in-place replacement (see chapter 3.4). +If you are using RakNet via DLLs/shared objects you can even replace the DLLs +directly with the correct counterparts of SLikeNet to give it a try. + +Note that we also ship the RakNet help as part of SLikeNet. The help files are +located in Help/RakNet and provide references, documentation, and tutorials +which are still useful even if you are using SLikeNet. Unless you define the +macro RAKNET_COMPATIBILITY for your build, you should rename the namespace +RakNet -> SLikeNet and use the includes: (instead of simply +including ). See chapter 3.5 for further details. +Otherwise, most of the samples/tutorials provided in the help documentation +should still run with SLikeNet the same way. + +In the following chapters [SLikeNet] corresponds to the path you extracted the +SLikeNet package to. + +3.1 Downloading SLikeNet +We provide the following ways to download SLikeNet: + +3.1.1 Download from the webpage +The main download source is via our webpage. Just go to +https://www.slikenet.com/ and download the version there. +We provide different kind of packages. The packages not marked as "source" are +containing prebuilt libraries to simplify getting started and reducing the +maintenance overhead, since they do not require setting up a build environment +for SLikeNet. +Since the packages are however quite large, we also provide the source packages +which contain the complete package (including source code and documentation) +except for the large prebuild libraries. +ZIP and RAR archives are containing the source cource code and text files with +Windows line endings while the TAR.GZ archive contains the files with Linux +line endings. + +3.1.1.1 Verifying the file integrity +The used RAR, TAR.GZ, and ZIP archives have built-in checksums to verify the +data integrity of the package. You can use the different archive tools to +ensure the package was downloaded correctly and isn't broken. +In addition to this, you can calculate the MD5, SHA-1, SHA-256, or SHA-512 hash +of the archive and compare it against the hash value noted at the download +page. + +3.1.1.2 Validating the download package +In order to validate the downloaded package was really published by SLikeNet +and wasn't altered with by someone else, ASCII armored signatures are provided +for each download package (using an OpenPGP key). The corresponding key can be +downloaded from the homepage: https://www.slikesoft.com/?page_id=111, +the webpage's foaf.rdf-file or from a public key server. +Fingerprint: 90BDC5B9C28EBCAD5805930806DED38809EECFCA + +3.1.2 Downloading via SVN +The latest development version can always be acquired directly via our +Subversion® repository at https://www.slikesoft.com/svn/slikenet/. +Released versions are tagged (i.e. +https://www.slikesoft.com/svn/slikenet/tags/) while the main development trunk +is located under https://www.slikenet.com/svn/slikenet/trunk/ . +We suggest you use a Subversion client to get your copy from that repository. A +list of available Subversion clients is located here: +https://subversion.apache.org/packages.html . + +3.1.3 Downloading via GIT® +In addition to the main SVN repository, we also provide SLikeNet as a fork of +RakNet on GitHub. If you are mainly using GIT, this might be the way you wanna +got to acquire a copy of SLikeNet. + +3.2 Using SLikeNet on Windows + +3.2.1 Using prebuilt SLikeNet libraries with Microsoft Visual Studio +Following is a step-by-step instruction on how to set up a C++ project using +the Visual Studio IDE. + +1. Right click your project in the Solution explorer -> Properties +2. C/C++ -> General -> Additional Include Directories: add + [SLikeNet]\Source\include +3. Linker -> General -> Additional Library Directories: add + [SLikeNet]\Lib\prebuild\[VS_2010] (where VS_2010 should be replaced with the + version of the IDE being used) +4. Linker -> Input -> Additional Dependencies: add the correct library (see + chapter 3.2.3) + +That's all you need to get started using SLikeNet. No additional steps are +requried. You won't even have to compile SLikeNet yourself. + +3.2.2 Building SLikeNet yourself with Microsoft Visual Studio +If you need a special configuration which we don't provide or if you simply +want to build SLikeNet yourself: + +1. Open SLikeNet.sln with Visual Studio +2. VS2010: skip this step + VS2012: Select "Update" in the pop-up dialog: "Update VC++ Compiler and + Libraries" + VS2013/VS2015: Select "OK" in the pop-up dialog: "Upgrade VC++ Compiler and + Libraries" + VS2017: Select "OK" in the pop-up dialog: "Retarget Projects" +3. Adjust NativeFeatureIncludesOverrides.h and define any optional macros to + enable (or disable) certain features +4. Select the correct configuration (Debug, Release or Retail; with or without + Unicode support) and the correct machine type (Win32 or x64) +5. Build the appropriate project: + - DLL: to build SLikeNet as a dynamic link library + - LibStatic: to build SLikeNet as a static library + +See chapter 3.4 if you want to build SLikeNet for an in-place replacement of +RakNet. + +3.2.3 Provided default libraries +We ship several libraries which can be used without having to compile SLikeNet +yourself. The prebuilt libraries are located under +[SLikeNet]/Lib/prebuild/[VS_2010]. +VS_2010 corresponds to the Visual Studio version the contained libraries have +been built with/for. +The naming scheme follows the following pattern: +SLikeNet libraries: SLikNet(_DLL)_[Debug|Release|Retail]( - Unicode)_[core|ext]_[Win32|x64] +RakNet compatibility libraries RakNet(_DLL)_[Debug|Release|Retail]_[core|ext]_[Win32|x64] + +_DLL indicates the library is built as a dynamic link library. The absence of +_DLL indicates that it's a static library. +Debug|Release|Retail correspond to the configuration (see chapter 3.5.2 for +details). +"- Unicode" indicates the library is built with the Unicode character set. We +do not provide this configuration by default with the RakNet compatibility +mode, since RakNet did not provide such configuration. +Following the "- Unicode" marker is either the _core or _ext (for extended) +marker. A core configuration is built with the bare minimum settings for +SLikeNet which means: no ipv6, no OpenSSL, and no LIBCAT support. The extended +configuration is built with these three features enabled. +The last marker indicates whether it's a 32-bit (Win32) or a 64-bit (x64) +library. + +3.3 Using SLikeNet with Linux and OSX + +3.3.1 Building SLikeNet +To build SLikeNet on Linux or OSX, you need a supported version of CMake and a +supported compiler version. See chapter 2.2 for a list of what is supported. + +1. Create a directory which you will use as the root-directory for SLikeNet (we + refer to that directory as [SLikeNetRootDirectory]) +2. Extract the SLikeNet package to [SLikeNetRootDirectory]/source +3. Adjust [SLikeNetRootDirectory]/source/Source/NativeFeatureIncludesOverrides.h + and define any optional macros to enable (or disable) certain features +4. Create a new directory: [SLikeNetRootDirectory]/cmake +5. Change the directory to [SLikeNetRootDirectory]/cmake +6. Run cmake ../source +7. Run make + +This will build SLikeNet as a static as well as the shared object library. +Please note that at the moment the generated libraries using CMake are still +named RakNet. This will be changed in SLikeNet 0.2.0. + +3.4 RakNet compatibility mode + +3.4.1 Migrating from RakNet to SLikeNet +SLikeNet provides a simple way to migrate from RakNet to SLikeNet. All you need +to do is to make sure that your project defines RAKNET_COMPATIBILITY in +NativeFeatureIncludesOverrides.h, redirect your include and library folders to +the SLikeNet ones (see chapter 3.2.1 for how this is done with Visual Studio), +adjust the .lib filename, and rebuild you game/application without further +modifications. + +Note that you can also continue pointing your include directory to +[SLikeNet]/Source (instead of [SLikeNet]/Source/include as it is described in +chapter 3.2.1). That way you can more easily switch between RakNet and SLikeNet +if you need to. + +3.4.2 Building RakNet compatibility mode yourself +If you want to build SLikeNet in RakNet compatibility mode yourself on Windows, +follow the steps described in chapter 3.2.2, ensure RAKNET_COMPATIBILITY is +defined in NativeFeatureIncludesOverrides.h and build the corresponding project +listed under RakNet_Backwards_Compatibility in the SLikeNet solution. + +Note that at the moment SLikeNet only provides building the RakNet +compatibility mode on Windows. + +3.4.3 In-place replacement of RakNet +A very handy way to give SLikeNet a try is to simply replace the DLL of your +application with the corresponding one provided by SLikeNet. You can find the +DLLs under [SLikeNet]/Lib/prebuild/[VS_2010]. Replace your existing DLL with +the SLikeNet version and start your application. If everything goes well, your +game/application will start and run without any issues and no further changes +required. + +Since the protocol was kept compatible with RakNet, you can even run the server +using RakNet and the client(s) run(ning) SLikeNet (or vice versa). + +3.5 Development notes on differences between RakNet and SLikeNet + +3.5.1 General notes +There are a couple of differences between RakNet and SLikeNet when it comes to +using the libraries which are noteworthy: +1. (except for RakNet compatibility mode) You should include SLikeNet headers + via where RakNet required you to include only + . +2. (except for RakNet compatibility mode) You need to use the SLikeNet + namespace where previously you used the RakNet namespace. +3. RAKNET_VERSION, RAKNET_VERSION_NUMBER, RAKNET_VERSION_NUMBER_INT, and + RAKNET_DATE were kept due to backwards compatibility with RakNet but were + updated to 4.082 and 7/26/2017 respectively and will stay at these values for + all SLikeNet 1.x.x releases. + In order to distinguish between different SLikeNet versions, you should use + the newly introduced SLIKENET_VERSION, SLIKNET_VERSION_NUMBER, + SLIKENET_VERSION_NUMBER_INT, and SLIKNET_DATE macros. + +3.5.2 Retail configuration +RakNet only shipped with a debug and a release configuration while SLikeNet +ships 3 different configurations: debug, release, and retail. +The debug configuration provides full debugging support without any kind of +optimization. The focus of this configuration lies in debugging capabilities +(and not on performance). This is in principle the same what RakNet provided. +The release configuration provides partial debugging mode with optimizations +but configured so it's usable for larger games. In particular the whole program +optimization (WPO) and link time code generation (LTCG) is disabled (since this +can significantly increase build times on larger projects). +The retail configuration is the configuration intended to be used when building +the versions which will be shipped to users/customers. It's configured to +provide the best performance and no debugging overhead whatsoever. WPO and LTCG +are enabled in this configuration too. + +To use the retail configuration you also need to define the _RETAIL macro +(usually you'd do that via the project properties). + +Note that the RakNet 4.081/4.082 configurations were a bit inconsistent. By +default the release configuration for RakNet DLL was built with WPO/LTCG +enabled while for RakNet Static it was disabled. So if you want to use the +corresponding SLikeNet libraries for what RakNet used as the release +configurations, you'd use the retail configuration for the dynamic library and +the release configuration in case of a static library. + +3.5.3 OSX usage of @rpath for install_name +SLikeNet uses the @rpath for the directory portion of the "install_name" field +of shared libraries, if CMake >= 2.8.18 is used. +See the CMake documentation regarding MACOSX_RPATH for further details. +Since this property was introduced in CMake 2.8.18 building SLikeNet with CMake +2.6.4 will not use this property and instead set the "install_name" field to an +absolute path like RakNet did. + + + +4. Dependent Extensions [partially copied from RakNet] + +SLikeNet contains several dependent extensions which extend the core +functionality of SLikeNet. Following lists and describes the available +extensions: + +4.1 AutopatcherMySQLRepository + Description: Autopatcher Server implemented using MySQL providing patch + information and asynchronous database queries to + AutopatcherClient. + Dependencies: + - BZip2 (see 2.4.2) + - MySQL (see 2.4.11) + - MySQLInterface (see 4.6) + Notes: + A database with the specified name must be created manually (i.e. run: + "CREATE DATABASE myDatabaseName"). When asked to "Enter DB scheme:" enter + "myDatabaseName". The max packet size should be increased to 1000M. + +4.2 AutopatcherPostgreRepository + Description: Autopatcher Server implemented using PostgreSQL providing patch + information and asynchronous database queries to + AutopatcherClient. + Dependencies: + - BZip2 (see 2.4.2) + - PostgreSQL (see 2.4.17) + - PostgreSQLInterface (see 4.9) + +4.3 BspCollision + Description: Sample project demonstrating the usage of the + SQLite3ClientLogger. + Dependencies: + - Ogre3D (see 2.4.14) + - SQLite (see 2.4.20) + +4.4 DXTCompressor + Description: Image data compressor. + Dependencies: + - NVIDIA Cg Toolkit (see 2.4.12) + - NVIDIA Compress YCoCg-DXT (see 2.4.13) + Notes: + The following source code files, which carry a specific license, are taken + directly from the NVIDIA Compress YCoCg-DXT library: + - FrameBufferRenderBuffer.hpp: Simplified BSD License - Copyright (c) 2005, + Aaron Lefohn (lefohn@cs.ucdavis.edu), Adam Moerschell + (atmoerschell@ucdavis.edu) + - ShaderSource.h: MIT License - Copyright (c) NVIDIA Corporation. + +4.5 IrrlichtDemo + Description: Demonstrates Irrlicht modified with SLikeNet for peer to peer + multiplayer. + Dependencies: + - Irrlicht Engine (see 2.4.5) + - irrKlang (see 2.4.6) + - MiniUPnP client (see 2.4.10) + Notes: + Due to license restrictions we are currently not able to bundle irrKlang + with our sourcecode. To compile the IrrlichtDemo you will have to download + irrKlang separately, put the header files and library file in the + IrrlichtDemo/irrKlang-1.1.3 directory and the irrKlang.dll in the + IrrlichtDemo directory. + + See slikenetstuff.cpp for most of the netowrking code. + Once the user presses "Start Demo" InstantiateRakNetClasses() is called. It + allocates all SLikeNet classes including the dependent plugins. It also + tries to connect to the NATCompleteServer. + Upon an established connection to the NATPunchthroughServer (see + ID_CONNECTION_REQUEST_ACCEPTED), UPNP will run to open the router, if + possible. It tries to open the external port connected to the + NATPunchthroughServer and maps that to the internal port used by SLikeNet. + If this succeds, NATPunchthrough should automatically succeed for this + system. Next, the cloduServer will be queried for active connections. If any + connection is returned, NATPunchthroughClient::OpenNATGroup() is called to + open the router for those systems and these systems are connected to. If + there are no existing games or a failure occurs, a new game is started. + Incoming packets are checked in UpdateRakNet(). If the NAT punchrough + failed, we use the proxy server instead. CDemo derives from + UDPProxyClientResultHandler, which will get the results of the proxy + connection attempt via its callback interfaces. + When another user connects with us (i.e. ID_NEW_INCOMING_CONNECTION or + ID_CONNECTION_REQUEST_ACCEPTED), we create a new connection object and call + ReplicaManager3::PushConnection(). This tells the automatic object + replication system that this connection is ready to participate in the game. + On pushing a new connection to ReplicaManager3, all existing Replica3 + objects are sent to that server. In the case it's our own player (i.e. + PlayerReplica) which was created via InstantiateRakNetClasses. + PlayerReplica derives from BaseIrrlichtReplica which derives from Replica3. + BaseIrrlichtReplica implements all the interfaces necessary for peer to peer + multiplayer; particularly returning QueryConstruction_PeerToPeer, + QueryRemoteConstruction_PeerToPeer, and QuerySerialization_PeerToPeer. It + also has a member variable position which is used by all derived classes. + This variable is automatically synchronized in SerializeConstruction() and + Serialize(). + PlayerReplica additionally serializes playerName, isMoving, isDead, and + rotationAroundYAxis. playerName never changes, so is sent only in + SerializeConstruction(). isMoving and isDead are serialized per-tick, and + are used to control what animation is played on remote systems. + rotationAroundYAxis is the camera rotation, which rotates the player on the + remote system. + Both, position and rotationAroundYAxis, are interpolated on the remote + system using positionDeltaPerMS and rotationDeltaPerMS. When we deserialize + either of these values, the amount is added per-tick based on the amount of + time elapsed until the real position is reached. This happens in Update(), + which is called from the CDemo. + When the player presses the shoot button, CDemo::shoot() is called. If the + player is not dead, CDemo::shootFromOrigin() is called which behaves the + same as in the original demo. It creates a moving ball to hit the nearest + terrain object. In the same function, a new instance of BallReplica is + created and referenced. ReplicaManager3 will automatically transmit this new + object to connected systems (including systems which connect later). + BallReplica is initialized with the same parameters as the animated particle + created in shootFromOrigin(). Its position is a different variable, but the + math works the same so the replicated object is always in the same spot as + the particle you see. + BallReplica::PostDeserializeConstruction() is called on remote systems when + a new ball is created. It calls shootFromOrigin() to create the particle + visible effect. It also causes the remote player with the same + creatingSystemGUID to play the attack animation. creatingSystemGUID is a + value automatically set by ReplicaManager3 and identifies which system + originally instantiated this object. + Note that the position variable in BallReplica works differently than with + PlayerReplica. In PlayerReplica, it is updated from the remote system + because it can change at random. In BallReplica, it represents only the + origin of when the ball was created and doesn't otherwise change. This can + be done because the path the ball takes is deterministic. This saves + bandwidth and programming. + In BallReplica::Update(), if this is our own ball, we check if the ball has + existed long enough that it should hit a wall. If so, we destroy it and send + out this destruction packet to the other systems. + In BallReplica::Update(), if this is a ball created by a remote system, we + check if the ball has hit our own player. The function + GetSyndeyBoundingBox() is needed because our own player has no model (i.e. + it's only a camera). Were the game to use other models, we would need to + calculate the bounding box for whatever player model we would be using. + If we die, PlayerReplica::deathTimeout is set and is sent to the remote + systems in PlayerReplica::Serialize() as a single boolean read into the + isDead member variable. + That's it. + There's a known issue in the implementation: + Because the ball effet in Irrlicht and the BallReplica class for the actual + gameplay are disjoint, were a player to disconnect and his ball deleted, the + visible effect would still be there. This issue could be fixed by adding a + reference to the particle effect and removing the particle when the ball is + destroyed. + +4.6 MySQLInterface + Description: Interface class for MySQL integration. + Dependencies: + - MySQL (2.4.11) + +4.7 Ogre3DInterpDemo + Description: Demonstrates how to lag a client in the past using the + interpolation history class in order to get smooth visuals + despite the choppy input. + Depdendencies: + - Boost (see 2.4.1) + - Ogre3D (see 2.4.14) + Notes: + Start two instances on the same computer, press 's' on one and 'c' on the + other. Hold down space to see the actual networking. + +4.8 Matrices + Description: DirectX Matrices sample used to copy the backbuffer to the main + memory in order to send it to the SQLiteClientLoggerPlugin. + Dependencies: + - Microsoft DirectX SDK (see 2.4.9) + - SQLite (see 2.4.20) + +4.9 PostgreSQLInterface + Description: Interface class for PostgreSQL integration. + Dependencies: + - PostgreSQL (see 2.4.17) + +4.10 Rackspace + Description: Communication class for the Rackspace Cloud Servers using API + v2.0 + Dependencies: + - Jansson (see 2.4.7) + +4.11 SQLite3Plugin / SQLite3ClientLogger / SQLite3ServerLogger + Description: Passes calls to sqlite3_exec over the network. + SQLite3ClientLogger and SQLite3ServerLogger extend this to + using an SQLite database for logging. + Dependencies: + - Independent JPEG Group's free JPEG software (SQLite3SeverLogger only - + see 2.4.4) + - DXTCompressor (SQLite3SeverLogger only - see 4.4) + - SQLite (see 2.4.20) + +4.12 Swig / DLL_Swig + Description: Generates a C# interface for the SLikeNet DLL. + Dependencies: + - SWIG (see 2.4.22) + + + +5. Samples [partially copied from RakNet] + +SLikeNet contains different samples which can also be used as the basis (or +direct integration) of certain functionality. The following chapters provide an +overview of all the samples: + +5.1 AutopatcherClient + Description: Console application to provide patching capabilities to an + end-user's application. + +5.2 AutopatcherClientGFx3.0 + Description: Skinnable GUI client using Autodesk Scaleform GFX to provide + patching capabilities to an end-user's application. + Dependencies: + - BZip2 (see 2.4.2) + - Microsoft DirectX SDK (see 2.4.9) + - Autodesk Scaleform GFx (see 2.4.18) + +5.3 AutopatcherClientRestarter + Description: Client application to restart the autopatcher process if it got + stuck and needs a manual restart. This application should be + shipped alongside a client application which uses the + Autopatcher. + +5.4 AutopatcherClient_SelfScaling + Description: Provides patching capabilities to an end-user's application for + the AutopatcherServer_SelfScaling project. + Dependencies: + - BZip2 (see 2.4.2) + +5.5 AutopatcherServer + Description: This is a sample implementation of the autopatcher server + implemented using PostgreSQL. + Dependencies: + - BZip2 (see 2.4.2) + - PostgreSQL (see 2.4.17) + - PostgreSQLInterface (see 4.9) + +5.6 AutoPatcherServer_MySQL + Description: This is a sample implementation of the autopatcher server + implemented using MySQL. + Dependencies: + - BZip2 (see 2.4.2) + - MySQL (see 2.4.11) + - MySQLInterface (see 4.6) + Notes: + A database with the specified name must be created manually (i.e. run: + "CREATE DATABASE myDatabaseName"). When asked to "Enter DB scheme:" enter + "myDatabaseName". The max packet size should be increased to 1000M. + +5.7 AutopatcherServer_SelfScaling + Description: Expanded version of AutopatcherServer. It will self-scale to + load, using the Rackspace Cloud to add additional servers when + all servers are full. Load balancing is accomplished with the + help of ClouseServer / ClouseClient. DynDNS is used to point to + the host of the system. + Dependencies: + - BZip2 (see 2.4.2) + - Jansson (see 2.4.7) + - PostgreSQL (see 2.4.17) + - PostgreSQLInterface (see 4.9) + - (OPTIONAL) Xdelta (see 2.4.23) + Notes: + SLikeNet must be compiled with OPEN_SSL_CLIENT_SUPPORT set to 1. + xdelta is optionally used to generate patches. + +5.8 ChatExample + Description: Sample of a simple text-based client/server chat. + +5.9 CloudClient + Description: Associated with the CloudServer project, this sample provides a + directory server implementation. + Notes: + The application connects to whichever instance of the CloudServer project + was passed on the command line. After connection UploadInstanceToCloud(), + GetClientSubscription(), and GetServers() are called. + UploadInstanceToCloud() uploads the own instance to the cloud. + GetClientSubscription() returns a list of all clients. + GetServers() returns the list of running servers with the connection counts. + ID_CLOUD_GET_RESPONSE is returned if GetServers()/GetClientSubscription() + has results. In case of GetServers() it will also reconnect to the server + with the least connections (i.e. client-based load balancing). + ID_CLOUD_SUBSCRIPTION_NOTIFICATION is returned when the subscription to the + client list changes. + +5.10 CloudServer + Description: Provides ways for queries on remote systems but does not + provide a way to discover these. + Notes: + Using the command line passed domain name: + - the server acts as host, if connecting to own IP + - the server acts as host and points the domain name to our own IP, if + connecting to another system fails + - the server treats any already existing system on the domain name as host + For the host connection the TwoWayAuthentication plugin is used to validate + that the system is actually a host by checking a pre-designated password. + Using a local CloudClient instance, querying the cloud server. The retrieved + list is then the list of other servers (including internal and external + IPs). The internal IP is used first to establish a connection, in case it's + a co-located server. If that fails, the external IP is used. + After that connection process the local CloudClient instance uploads our own + internal and external IP to the CloudServer. + Two lists are used to restrict (via CloudServerQueryFilter) reads to + internal IPs (stored in CloudServerList,1). + FullyConnectedMesh2::AddParticipant() is used to determine the host of the + server. When the host changes to the local server, the DynDNS class is used + to update the DNS to point to the new host. + Load balancing is client-based (see CloudClient). + Following plugins can be opted in on the server: + - AutopatcherServer (provided that all server use the same database) + - DeltaDirectoryTransfer + - FileListTransfer + - Lobby2 (database operations only; no login or presence) + - NATTypeDetection + Following plugins can be opted in but require that interacting clients are + on the same server (hence connect the client to all relevant servers, if + required): + - NATPunchthroughServer + - TeamManager (entire team must be on the same server) + - RoomsPlugin (all users that interact with each other must be on the + same server) + Following plugins are active implicitly: + - UDPProxyCoordinator (supporting multiple UDPProxyServers but only a + single coordinator) + +5.11 CommandConsoleClient + Description: Used for console-based remote text administration of servers, + this console project connects to a server running + RakNetTransport with the ConsoleServer. + +5.12 CommandConsoleServer + Description: Tests the ConsoleServer class which provide means to administer + servers remotely through text commands. telnet and SLikeNet's + protocol are supported. + +5.13 ComprehensivePCGame + Description: This sample demonstrates complete network functionality found + in typical PC peer to peer games via the integration of UPNP, + HTTPConnection2, NATPunchthrough, TeamManager, ReplicaManager3, + FullyConnectedMesh2, RPC4, and ReadyEvent. + Dependencies: + - Jansson (see 2.4.7) + - MiniUPnP client (see 2.4.10) + - (OPTIONAL) NATCompleteServer (see 5.26) + Notes: + Following describes the network flow of the sample: + - Initially the CONNECTING_TO_SERVER phase is entered to connect to a NAT + punchthrough server and connects to the master server. The NAT + punchthrough server must be running at a minimum + FeatureList::NAT_PUNCHTHROUGH_SERVER. If NAT_PUNCHTHROUGH_SEVER is set to + 1, the server must be running FeatureList::NAT_TYPE_DETECTION_SERVER. + - If NAT_TYPE_DETECTION_SERVER is set to 1, the DETERMINE_NAT_TYPE phase is + entered and the result of this is stored in myNatType. Otherwise, the + SEARCH_FOR_GAMES phase is entered. + - SearchForGames() sends a GET request to the master server. In the + background, HTTPConnection2 uses TCPInterface to connect to the server and + to send the command. If it succeeds, TCPInterface returns a valid + SystemAddress structure from HasCompleteConnectionAttempt() and later + HTTPConnection2::GetResponse() returns true. + - Upon HTTPConnection2::GerResponse() returning true, if parsed JSON body + for a GET operation has a body, this indicates that other systems have + uploaded rooms. The user is presented the options to join, create or + search for rooms. + - In CreateRoom() PostRoomToMaster() is called. PostRoomToMaster() iterates + through the list of users (from the Context of CreateRoom()) and + serializes the natType of each of the users. It also serializes the + game->gameName variable. Other data such as the names of users, score, + locked value, etc. can be serialized too. Two Team classes are + instantiates as the game supports two teams. TM_World::ReferenceTeam() is + called right away because you can join teams at any time. However, + ReplicaManager3::Reference() is not called yet, because we do not want to + replicate game objects (including teams) until the host is known from + ID_FCM2_NEW_HOST. Lastly, FullyConnectedMesh2::ResetHostCalculation() is + called. This resets the internal timer that tracks basically how long the + multiplayer game has been playing. This is necessary because the order of + how the host migrates follows how long each session has been running. + - If the user presses 'j' to join a room, NatPunchthroughClient::OpenNAT() + is called. Upon ID_NAT_PUNCHTHROUGH_SUCCEEDED, RakPeerInterface::Connect() + is called. Upon ID_NAT_PUNCHTHROUGH_SUCCEEDED, RakPeerInterface::Connect() + is called to connect to that system. This system is whichever system last + uploaded the session, which is the responsibility of the session host. + Note that even if it wasn't the session host, the program would still + operate correctly provided that the system connected to has the correct + list of participants in the FullyConnectedMesh2 plugin. Also note that the + process of joining a session is asynchronous and does not modify data on + the server or affect the game in operation. The game phase is updated to + NAT_PUNCH_TO_GAME_HOST. + - If the connection attempt in the previous step fails, or the connection is + lost while in the NAT_PUNCH_TO_GAME_HOST phase, the rooms are searched + again. + - If the connection attempt succeeds, + FullyConnectedMesh2::ResetHostCalculation() is called. ID_USER_PACKET_ENUM + is then transmitted without data to indicate that this is a request + message to join a game. + - Upon ID_USER_PACKET_ENUM, either FullyConnectedMesh2::StartVerifiedJoin() + is called or ID_USER_PACKET_ENUM+1 is returned if the session is not + joinable. StartVerifiedJoin() ultimately returns + ID_FCM2_VERIFIED_JOIN_START, ID_FCM2_VERIFIED_JOIN_ACCEPT, or + ID_FCM2_VERIFIED_JOIN_REJECTED to the requester. + - ID_FCM2_VERIFIED_JOIN_START means the requester has to perform additional + connection steps before the game session can be joined. + NatPunchthroughClient::OpenNAT() is performed on each system returned from + FullyConnectedMesh2::GetVerifiedJoinRequiredProcessingList(). It may not + be necessary to call OpenNAT() on each of these systems (for example if + UPNP succeeded) but there's no harm in doing so and it simplifies the code + flow. If ID_NAT_PUNCHTHROUGH_SUCCEEDED is returned, the system is + connected. FullyConnectedMesh2 reads connection attempt successes, + failures, and NAT punchthrough failures automatically. When all systems in + the GetVerifiedJoinRequiredProcessingList() have been processed, the + system that sent StartVerifiedJoin() is notified automatically. The + process will continue with ID_FCM2_VERIFIED_JOIN_START or stop with + ID_FCM2_VERIFIED_JOIN_ACCEPTED or ID_FCM2_VERIFIED_JOIN_REJECTED. + - Assuming ID_FCM2_VERIFIED_JOIN_ACCEPTED completed, + FullyConnectedMesh2::AddParticipant() is called internally on all systems + automatically. This leads to ID_FCM2_NEW_HOST being returned to the + program. If this is the first time ID_FCM2_NEW_HOST has been calculated + (which is when two systems first connect), all FullyConnectedMesh2 + participants added in the previous step are registered with + ReplicaManager2, TeamManager, and ReadyEvent in RegisterGameParticipant(). + If the host is already known, the new partiicipant(s) are read using + GetVerifiedJoinAcceptedAdditionalData() in the + ID_FCM2_VERIFIED_JOIN_ACCEPTED block and added with + RegisterGameParticipant(). + - Registering remote systems and game objects with ReplicaManager3 leads to + ID_REPLICA_MANAGER_DOWNLOAD_COMPLETE on each system. Each system creates + its own user, so that ID_REPLICA_MANAGER_DOWNLOAD_COMPLETE arrives once + from each remote system for that user. Additionally, the host sends the + two Team objects. When all downloads are complete from all systems, + ReplicaManager3::GetAllConnectionDownloadCompleted() returns true and the + game can proceed. + - The Game class is implemented as a static object. This means it is created + locally on each system rahter than via a network command. It is also not + destroyed when a remote system disconnects. Refer to the retuns calls from + QueryConstruction(), QueryActionOnPopConnection(), and other operations + for further details. Note that no statement exists in + SampleConnectionRM3::AllocReplica() to create a game instance, as it's not + necessary. + - The Team class is created remotely by the host via QueryConstruction(). + The host also serializes the object. The Team object is not destroyed when + the original system that created it disconnects. The host can change. + Therefore, whoever is currently the host according to FullyConnectedMesh2 + automatically takes over replication duties. + - The User class is created and serialized by whichever system created it. + When that system disconnects, the User object is deleted automatically due + to the return value from QueryActionOnPopConnection(). + - Teams and team members are managed by the TeamManager plugin. The data + used by TeamManager is TM_Team in the Team class and TM_TeamMember in the + User class. The only thing of note is that TM_Team and TM_TeamMember is + referenced when created by the network in DeserializeConstruction(), but + deserialized in PostDeserializeConstruction(). This is because + deserialization of the TM_TeamMember requires that any TM_Team objects + that team references has already been created. + - PostRoomToMaster() is called by the host whenever users leave (in the + User-dtor) or are created (in User::PostDeserializeConstruction()). This + is to update the current user count returned from the master server. + PostRoomToMaster() is also called by the new host whenever a new system + becomes host, so connecting systems know which system to connect to. + - When a system exits a room by pressing 'e', all connections are closed + except the connection to the NAT punchthrough server. The state data + maintained by each plugin is cleared. The room entry on the cloud is + deleted (only does something, if we are host). + +5.14 CrashReporter + Description: Demonstrates the crash reporter system. When the application + crashes, this generates and optionally emails or saves a + mini-dump. + +5.15 DirectoryDeltaTransfer + Description: Demonstration of the DirectoryDeltaTansfer plugin (a patching + system without dependencies on a database). + +5.16 Encryption + Description: Sample project to demonstrate the secure connectivity feature + of SLikeNet. + +5.17 FCM2Host + Description: Demonstrates the FullyConnectedMesh2 plugin host migration. + +5.18 FCM2Host_Simultaneous + Description: Another demonstration of the FullyConnectedMesh2 plugin host + migration. + +5.19 FCM2VerifiedJoinSimultaneous + Description: Demonstration of two systems calling StartVerifiedJoin() + simultaneously + +5.20 FullyConnectedMesh + Description: Sample of the FullyConnectedMesh2 plugin. + +5.21 iOS ChatClient + Description: iOS sample chat client (equivalent to ChatExampleClient) + connecting to a chat server (see ChatExampleServer) + +5.22 LANServerDiscovery + Description: Demonstrates how to find other servers on a LAN. + +5.23 Lobby2Server_PGSQL + Description: Database backend for the Lobby2 system supporting users, clans, + friends, and other persistent information. + Dependencies: + - PostgreSQL (2.4.17) + +5.24 MessageFilter + Description: Sample project showing the use of the message filter plugin + which can be used to filter out network messages on a + filter-set basis. + For instance one could have a spectator filter to prevent + spectators sending gameplay messages. + +5.25 NATCompleteClient + Description: Client to demonstrates all NAT components in a sample project. + Dependencies: + - MiniUPnP client (see 2.4.10) + +5.26 NATCompleteServer + Description: Server to demonstrates all NAT components in a sample project. + +5.27 PacketLogger + Description: Shows how to use the PacketLogger plugin(s). + +5.28 PHPDirectoryServer2 + Description: Sample to setup a php-based administration page to interact + with SLikeNet. + Notes: + SLikeNet uses a php page to hold listings of running games. For example, one + might run a server with the name "MyServer" and the game mode "Deathmatch" + and wants to let people know that this server is running. Other people would + connect to the webpage to download the list of running servers. + Following functions are available: + - Admin: + When the php page is running and no password file exists, prompt the user + to enter two password: upload and download. The user must set both + passwords before any other functionality is available. Once the passwords + have been set, the password file is created. The file must not be readable + by the general public and passwords must be checked for syntax such that + they can be used in subsequent operations and passed in the URL. There are + otherwise no restrictions on what password can be used. Once the two + passwords are set, the only way to change them is to delete the file that + stores the passwords. After doing so, the page will once again prompt to + set the two passwords. + If in any operation the password is required but missing (or incorrect), + the operation will be ignored. + - Upload: + The user executes Directoryserver.php?query=upload&uploadPassword=yyy . + The body of the message contains the data to be stored. Every odd indexed + field is the column name. Every even indexed field is the value. Fields + are separated by ASCII value 1. + Column names will always contain at a minimum __GAME_PORT and __GAME_NAME. + A column name __System_Address with corresponding value is automatically + added to the input based on the IP address of the system doing the upload. + If the body of the message also contains __System_Address as a column + name, use that instead of the automatically generated column. + A column name __SEC_AFTER_EPOCH_SINCE_LAST_UPDATE with a corresponding + value is automatically added to the input, based on the current time of + the update. + If the __System_Address, __GAME_PORT, and __GAME_NAME fields all match an + existing entry, the entry will be overwritten. + Input example: __GAME_PORT?1235?__GAME_NAME?My game?MapType?Deathmatch?Number of players?5 + Stored example: + __GAME_PORT=1235 + __GAME_NAME=My game + MapType=Deathmatch + NumberOfPlayer=5 + __System_Address="1.2.4.5" + __SEC_AFTER_EPOCH_SINCE_LAST_UPDATE=1234567 + - Download: + The user executes DirectoryServer.php?query=download&downloadPassword=xxx . + This returns all rows stored that are less than 60 seconds old. The output + format is the same as the input, except that ASCII value 2 is used to + separate rows. + Output example with two rows returned: __GAME_PORT?12345?__GAME_NAME?My game?__SystemAddress?1.2.4.5?__SEC_AFTER_EPOCH_SINCE_LAST_UPDATE?1234567?MapType?Deathmatch?Number of player?5?__GAME_PORT?1236?__GAME_NAME?My game 2?__System_Address?1.2.4.5?__SEC_AFTER_EPOCH_SINCE_LAST_UPDATE?1888888?MapType?Deathmatch?Number of players?3 + Not all entries necessarily have the same number of types of columns. + - Upload and download: + The user executes DirectoryServer.php?query=upDown&downloadPassword=xxx&uploadPassword=yyy . + Query results are prepared the same way as if the user would have executed + DirectoryServer.php?query=download. Table data is added the same way as if + the user would have executed DirectoryServer.php?query=upload. The data + uploaded in this request is skipped for this download request. + - Expire rows: + If a row is more than 60 seconds old, the record is removed. + - Vieweing: + Viewing the webpage with no commands should display the uploaded entires. + No password is required for vieweing the webpage. + Two test applications are provided as part of this sample. The first test + application repeatedly queries and updates the data over time. The second + test application is a game that uploads and downloads at the same time the + game is started. + +5.29 Ping + Description: Simple project demonstrating pinging. + +5.30 RackspaceConsole + Description: Allows to control Rackspace API servers through a console. + Notes: + To use RackspaceConsole OPEN_SSL_CLIENT_SUPPORT must be set to 1. + +5.31 RakVoice + Description: Sample project to show how to use the RakVoice class. + Dependencies: + - PortAudio (see 2.4.16) + - speex (see 2.4.19) + Notes: + Using speex, the input data is encoded, transmitted using SLikeNet, and then + decoded again. + +5.32 RakVoiceDSound + Description: Sample project showing how to use Rakvoice together with + DirectSound. + Dependencies: + - Microsoft DirectX SDK (see 2.4.9) + - speex (see 2.4.19) + +5.33 RakVoiceFMOD / RakVoiceFMODAsDLL / RakVoiceFMODUsingDLL + Description: Sample project showing how to use RakVoice together with FMOD. + Dependencies: + - FMOD Ex (see 2.4.3) + - speex (see 2.4.19) + Notes: + Using speex, the input data is encoded, transmitted using SLikeNet, and then + decoded again. + FMODVoiceAdapter can be reused for simple integration of FMOD in other + applications. + +5.34 ReadyEvent + Description: Demonstrates how to use the ReadyEvent plugin (for example to + have a group of peers all execute a command at the same time). + +5.35 ReplicaManager3 + Description: Demonstrates how the ReplicaManager3 class is used to + distribute and autoserializes objects. + +5.36 RoomsPlugin + Description: Sample to demonstrate using the independent Lobby2 room system. + +5.37 Router2 + Description: Shows how to use the Router2 plugin to setup and forward + connections through an intermediate (already connected to) + system. + +5.38 RPC3 + Description: Demonstrates how to use the RPC3 plugin to issue remote + procedure calls where the call format is very similar to a + local function call. + Dependencies: + - Boost (see 2.4.1) + +5.39 RPC4 + Description: Demonstrates how to use the RPC4 plugin which is a simpler + version of the RPC3 plugin without the boost dependency. + +5.40 SendEmail + Description: A sample project to use TCP to connect to a mail host using the + EmailSender class. + +5.41 SteamLobby + Description: Demonstrates the integration of the Steam lobby and NAT + traversal sockets. + Dependencies: + - Steamworks SDK (see 2.4.21) + Notes: + To use SteamLobby, MAXIMUM_MTU_SIZE must be set to 1200. + +5.42 TeamManager + Description: Demonstrates the TeamManager in a typical in-game lobby setting + with users being able to switch between 3 teams. The sample + uses the TeamBalancer, ReplicaManager3, and FullyConnectedMesh2 + plugins. + Notes: + Before using TeamBalancer and ReplicaManager3, we wait until we know who the + host is of the session. We do not know this until one other system connects, + at which point we get ID_FCM2_NEW_HOST. This is the purpose behind the two + calls to SetAutoManageConnections(). When we do know the host, we call + RegisterFullyConnectedMesh2Participants() to register all prior connections + with ReplicaManager3 and TeamBalancer. Once we get + ID_NEW_INCOMING_CONNECTION and ID_CONNECTION_REQUEST_ACCEPTED while we + already know the host, we also register those connections with + PushConnection() and AddParticipant(). + ReplicaManager3 handles object replication to new participants. + SerializeConstructionExisting() is called on all teams. The User object is + replicated using SerializeConstruction() to send the initial state data. The + Team and User classes contain corresponding instances of TM_Team and + TM_TeamMember, so SerializeConstruction() is called on those instances. We + reference the Team objects before the User objects with ReplicaManager3 + first in order to ensure that the Team objects are serialized first. + TeamBalancer requires this, since TM_TeamMember::DeserializeConstruction() + needs to be able to look up teams in order for these to have been previously + registered with TeamBalancer and deseralized. + The setup has one team "REFEREE_TEAM" joinable only through a direct + request. The other teams are subject to autobalancing. + Examples of intended operation: + - If there are two players on team one and no players on team two, when + autobalancing is turned on the second player will be forced from team one + to team two. + - If there are two players on team one and one player on team two, when + autobalancing is turned on the second player will be forced off team one + and set to no team. + - If there are two players on team one and the team limit for team one is + reduced to 1, the second player to join team one is kicked off. + - If there is one player on team one, one player on team two, and + autobalancing is turned on, normally neither player can switch teams + without the other player leaving first. However, if both players use + RequestTeamSwitch() to switch to each other's teams, they swap teams. + - If team one is full or unjoinable due to unbalanced teams, anyone who + requests to join team one has that team added to their requested list. If + someone leaves team one, the team size is increased, or team balancing is + turned off, requesting players join the vacated slots in order of request. + +5.43 Timestamping + Description: Illustrates how to use timestamps. + Notes: + Connect to the server and press 'c' or 's' respectively. The time that shows + up on the remote system should be roughly half your ping. + +5.44 TwoWayAuthentication + Description: Shows how to use the TwoWayAuthentication plugin + +5.45 UDP Forwarder + Description: Demonstrates the UDP Forwarder class usage and how it forwards + diagrams from one system to another. + +5.46 WinPhone8 + Description: Sample for Win Phone 8 integration. + Dependencies: + - Microsoft DirectX SDK (see 2.4.9) + License: Microsoft Permissive License (Ms-PL) + License file(s): licenses/Microsoft Permissive License.rtf + + + +6. Help and Support + +6.1 Documenation +This readme.txt file contains the most up-to-date information and supersedes +any older documentation, in case of contradicting statements. +The changelog.txt covers the changes of the different releases. +Help/Doxygen contains the complete reference manual generated with Doxygen in +Microsoft Compiled HTML Help format (SLikeNetManual.chm) and in html format +(Help/Doxygen/html/index.html). +Help/RakNet contains the documentation which was shipped with RakNet +4.081/4.082 and is provided for cases where updated documentation isn't +available yet. + +6.2 Contact Information and Support +We provide different ways to contact us for support requests: +- bulletin board: http://www.slikesoft.com/forum/ +- by email: support@slikesoft.com +- contact form: https://www.slikesoft.com/?page_id=187&lang=en +- IRC: #slikenet on irc.freenode.net + +For security relevant issues, please use either the contact form or send us a +mail. + + + +7. A word on licensing + +SLikeNet is completely open source (including any licensed code or bundled +3rd-party library). This means that you can use SLikeNet free of any charge in +your product (even if it's a commercial product you are making money with). + +SLikeNet itself is distributed under the MIT license. You can find the license +in the license.txt provided alongside this readme.txt file. +SLikeNet is however heavily based on RakNet (which is licensed under the +Simplified BSD License). See chapter 7.2.1 for further details. +In addition to that, SLikeNet also contains code licensed under different +licenses/conditions and bundles 3rd-party libraries which also carry their own +licenses. + +For an overview of the licenses of bundled 3rd party libraries, please refer to +chapter 2.4. Chapter 7.1 gets into the details on SLikeNet's own license and +chapter 7.2 covers the RakNet license as well as other licensed code (which is +not particularly a 3rd party library). +For help to comply with the license requirements, we provide some quick +licensing instructions, which is explained in chapter 7.1 as well. + +7.1 SLikeNet licensing (core and extended) +The SLikeNet core only relies on RakNet licensed code and code/libraries under +public domain or provided under a free license. It does not rely on any +3rd-party library. +This means that to comply to the license requirements the only relevant +licenses are the SLikeNet license (see license.txt in the same directory as +this readme.txt file) and the licenses listed under chapter 7.2 marked with the +(core)-prefix. +This also applies to the prebuilt libraries marked with "_core". + +If you are using the prebuilt libraries marked with "_ext" in addition to the +licenses mentioned above, you have to comply to the the OpenSSL license (see +chapter 2.4.15) and the libcatid license (see chapter 2.4.8). + +Depending on the core feature you enable, the sample you are using, or the +dependent extension you utilize, additional 3rd-party libraries might be +required. Please see chapter 2.4 for a list of the 3rd-party libraries and +their associated licenses. + +If you are distributing the SLikeNet source, we also explicitly permit you to +rename (and move) the license.txt file to a different location within the +package without having to update all the references to the location of the +license.txt file, as long as you make it clear in any acoompanying +documentation where to locate the license terms and clarify that the sourcecode +references outdated locations. + +In cases where SLikeNet contains modifications to 3rd-party code/libraries, we +provide the modifications under the 3rd-party code's/libraries' own license in +addition to providing these under the MIT license so to allow our modifications +to also being utilized under the same license as the author of the 3rd-party +code/library provided his/her own code for. This is mainly done so to not +enforce additional license requirements, if someone wants to incorporate our +modifications in their own usage of the 3rd party code/library. Where this +applies, the copyright/license header in the particular source code file states +so. + +To simplify handling licensing requirements for the majority of the users, we +provide simplified instructions for the two default combinations (core and +extended) SLikeNet is shipped with. These instructions are located under +licenses/_quick_licensing_slikenet_core.txt and +licenses/_quick_licensing_slikenet_extended.txt. + +Also we'd like to state that you are not allowed (without prior written +permission from SLikeSoft) to suggest that you, your company, and/or your +product is affiliated with SLikeSoft. + +In addition to the licensing requirements, we'd appreciate if you are +considering the following legally NON binding requests: +- send us a short mail (info@slikesoft.com) to let us know that you are using + our library in your product +- mention in your product / on your webpage that you are using SLikeNet + (provide a link to https://www.slikenet.com/ on your webpage) +- allow us to put your product/company name on our webpage as a reference that + you are using SLikeNet + +As mentioned: None of these optional requests are binding. If you don't feel +like following any of these requests, we are still glad you decided to use our +network library, nevertheless. + +7.2 Licensed Code +This chapter provides an overview of 3rd-party code directly incorporated into +the SLikeNet core. +Unless otherwise noted, license texts are directly located in the corresponding +source code file. + +7.2.1 (core) RakNet +The basis of SLikeNet is RakNet (which SLikeNet is derived from). As a result +of this, the RakNet license applies to a big portion of the SLikeNet source +code. +Also the majority of the documentation generated using Doxygen is directly +taken from RakNet and hence the RakNet license applies to this documentation as +well, as it does to the documentation shipped under Help/RakNet. Last but not +least, part of the documentation in sections in this readme file were copied +from the RakNet documentation and slightly modified. These sections are marked +with: "[partially copied from RakNet]" and the RakNet license applies to this +copied/modified documentation as well. +RakNet is licensed under the Simplified BSD License and also comes with the +grant of patent rights. +License file(s): licenses/RakNet License.txt, licenses/RakNet Patents.txt + +7.2.2 (core) DR_SHA1.cpp/.h (SHA-1 algorithm - version 2.1) +This is a 100% free public domain implementation of the SHA-1 algorithm by +Dominik Reichl (dominik.reichl@t-online.de) / http://www.dominik-reichl.de/ . + +7.2.3 (core) Rand.cpp (Mersenne Twister random number generator MT19937) +This is the 'Mersenne Twister' random number generator MT19937 which generated +pseudorandom integers uniformly distributed in 0..(2^32 -1) starting from any +odd seed in 0..(2^32 -1). It is a recode by Shawn Cokus +(Cokus@math.washington.edu) from March 8th, 1998 of a version by Takuji +Nishimura (who had suggestions from Topher Cooper and Marc Rieffel in +July-August 1997). +The licensing is free: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/elicense.html +"Until 2001/4/6, MT had been distributed under GNU Public License, but after +2001/4/6, we decided to let MT be used for any purpose, including commercial +use. 2002-versions of mt19937ar.c mt19937ar-cok.c are considered to be usable +freely." +The authors asked to be sent an e-mail to (with an appropriate reference to +your work) to Makoto Matsumoto and Takuji Nishimaru (matumoto@math.keio.ac.jp) +as well as CC Shawn Cokus (Cokus@math.washington.edu). + +7.2.4 (core) KBhit.h +_kbhit() and _getch() implementation for Linux/UNIX by Chris Giese +(geezer@execpc.com) / http://my.execpc.com/~geezer . +His source is public domain. + +7.2.5 (core) FindBoost.cmake +Modified version of the FindBoost module shipped with CMake 2.8.10.2 +https://cmake.org/ . +The sourcecode is licensed under the Modified BSD License. + +7.2.6 (DependentExtension/Autopatcher) ApplyPatch.cpp, CreatePatch.cpp +These source code files which are part of the Autopatcher dependent extension +contain code which is copyright 2003-2005 by Colin Percival and licensed under +the Simplified BSD license. + +7.2.7 (DependentExtension/DXTCompressor) OpenGLWindow.hpp +This source code file which is part of the DXTCompressor dependent extesion is +based on code written by Jeff Molofee 2000. Acknoledgements go to Frederic +Echols for cleaning up and optimizing the code. It carries no particular +license note but asks to let Jeff Molofee know if the code was found useful +via http://nehe.gamedev.net . + +7.2.8 (DependentExtension/IrrlichtDemo) FindIrrlicht.cmake, FindIrrKlang.cmake +CMake modules to locate the corresponding libraries. These files are copyright +(c) 2006 by Andreas Schneider (mail@cynapses.org) and licensed under the New +BSD license. +License file(s): licenses/FindIrrlicht CMake License.txt + +7.2.9 (DependentExtension/IrrlichtDemo) CDemo.cpp/.h, CMainMenu.cpp/.h, main.cpp +These are sample files taken from the Irrlicht Engine. The files are copyright +2005-2009 by Nikolaus Gebhardt (actual copyright years vary for each file) +(irrlicht@users.sourceforge.net) / http://irrlicht.sourceforge.net . +The underlying license is based on the zlib/libpng license. +Since the Irrlicht Engine is based in part on the work of the Independent JPEG +Group, zlib, and libpng, you have to also comply to these licenses as well. +It's also asked for (but not legally required) to acknowledge that you use the +Irrlicht Engine, libpng, and zlib in your product. +License file(s): licenses/Irrlicht Engine License.txt, + licenses/jpglib license v8d.txt, license/libpng license.txt, + licenses/zlib license.txt + +7.2.10 (DependentExtension/speex related) FindSpeex.cmake, FindSpeexDSP.cmake +CMake modules to locate the corresponding libraries. These files are copyright +(c) 2006 by Andreas Schneider (mail@cynapses.org) and licensed under the New +BSD license. +License file(s): licenses/FindIrrlicht CMake License.txt + +7.2.11 (DependentExtension/Swig) arrays_csharp.i +SWIG library file containing a two approaches to marshalling arrays. Being a +file located inside the Lib directory of the SWIG library, no particular +license applies. The software is free to be used on any terms one wishes. Since +the original file contains a license reference, we put the license note into +the licenses-directory, nevertheless. +License file(s): licenses/SWIG library files license.txt + +7.2.12 (Samples/nacl_sdk) httpd.py +This file was taken from the Native Client SDK and is Copyright (c) 2012 The +Chromium Authors. It is provided under the Modified BSD License. +License file(s): licenses/nacl license.txt + +7.2.13 (Samples/Ogre3D related) FindOGRE.cmake, FindOIS.cmake, FindPkgMacros.cmake, PreprocessorUtils.cmake +CMake modules to locate the corresponding libraries. The source files are part +of OGRE (Object-oriented Graphics Rendering Engine) http://www.ogre3d.org/ . +They are provided as public domain. + +7.2.14 (Samples/Ogre3D related) BspCollision.cpp +This is a sample file to demonstrate integration into Ogre3D. The source file +is part of OGRE (Object-oriented Graphics Rendering Engine) +http://www.ogre3d.org/ and Copyright (c) 2000-2006 Torus Knot Software Ltd. It +is provided completely free without an explicit license requirement. + + + +8. Thanks / Acknowledgements + +First of all we'd like to thank Kevin Jenkins for his year long work on RakNet. +Without his work SLikeNet wouldn't have seen the light of day at all. +Second, we'd like to thank Oculus VR, LLC. which put the RakNet source code +under the Simplified BSD License. Without having done that, it would have been +impossible for us to continue the effort wich went into the RakNet library. + +Further, we'd like to thank the following contributors who handed in pull +requests to the RakNet project on GitHub which are incorporated in SLikeNet: +- Alex Howland: https://github.com/alliekins (pull request: 48) +- Hunter Mayer: https://github.com/orionnoir (pull request: 31) +- Jalmari Ikävalko: https://github.com/tzaeru (pull request: 56) +- lenky0401: https://github.com/lenky0401 (pull request: 60) +- Peter Hille: https://github.com/png85 (pull request: 7) +- Rhys Kidd: https://github.com/Echelon9 (pull requests: 10 and 14) +- Tim Ullrich: https://github.com/tullrich (pull request: 63) +- Tobias Kahlert: https://github.com/SrTobi (pull requests: 51, 54, and 57) + +We'd also like to thank those contributors who have requested to remain +anonymous and/or those who we could not contact at all (due to lack of contact +information). +If you spot your contribution in our library and haven't been mentioned in the +acknowledgement section, simply send us a mail and we'll update the section as +soon as possible. + +Last but not least, we also acknowledge all the work of the developers and +companies related to incorporated/depending 3rd-party libraries (see chapter +2.4) and code snippets (see chapter 7.2). + +To comply with the license requirements, we further list these acknowledgement +statements: +This product includes software developed by the OpenSSL Project for use in the +OpenSSL Toolkit. (http://www.openssl.org/) +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com) +This product includes software written by Tim Hudson (tjh@cryptsoft.com) +this software is based in part on the work of the Independent JPEG Group +This software contains source code provided by NVIDIA Corporation. + + + +9. Trademark Notes / Affiliation Statement + +Neither SLikeNet nor SLikeSoft is affiliated in any means to any company or +other 3rd-party product mentioned in either the source code or the accompanying +documentation. Mentioning of product and company names are solely done for the +purpose of referencing the actual 3rd-part product or its associated company. + +While we tried hard to take best care for properly handling trademarks and +follow each trademark holder's guideline with appropriate usage of their +property, we can't rule out that some trademark slipped by and didn't get +referenced below. Hence, please understand that this list has no obligation of +being complete. If a name is not listed in this section or you spot a mistake +of how use the trademark we'd appreciate to be dropped a note so we can correct +the mistake/oversight. + +In general we mark trademarks with ™ and registered trademarks with ® upon +first use of the trademark. Any following usages of the same trademark implies +the corresponding trademark symbol. + +Subversion is a registered trademark of the Apache Software Foundation +iPhone and Xcode are registered trademarks of Apple Inc. +Autodesk and Scaleform are registered trademarks of Autodesk, Inc. +FMOD is a registered trademark of Firelight Technologies Pty Ltd. +GITHUB is a registered trademark of GitHub, Inc. +libpng is a trademark of Glenn Randers-Pehrson +Android is a trademark of Google Inc. +SQLite is a registered trademark of Hipp, Wyrick & Company, Inc +Linux® is the registered trademark of Linus Torvalds in the U.S. and other +countries. +CMake is a registered trademark of Kitware, Inc. +DirectX, Windows Vista, Windows Phone, and Xbox 360 are registered trademarks +of Microsoft Corporation. +Microsoft, Visual Studio, and Windows are trademarks of Microsoft Corporation. +MySQL is a registered trademark of MySQL AB +NVIDIA is a registered trademark of NVIDIA Corporation +OpenSSL is a registered trademark of the OpenSSL Software Foundation, Inc. +SLikeSoft and SLikeNet are trademarks of SLikeSoft UG (haftungsbeschränkt) +GIT is a registered trademark of Software Freedom Conservancy, Inc. +Playstation is a registered trademark of Sony Interactive Entertainment Inc. +PostgreSQL is a registered trademark of the PostgreSQL Community Association of +Canada +Steam and Steamworks are registered trademarks of Valve Corporation. \ No newline at end of file