diff --git a/MSVC/build_vs2015_release_x64.bat b/MSVC/build_vs2015_release_x64.bat
deleted file mode 100644
index da2b089e41e1d695aa403c4f7609c45ce68005eb..0000000000000000000000000000000000000000
--- a/MSVC/build_vs2015_release_x64.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@echo on
-SETLOCAL EnableDelayedExpansion
-
-set SRC=%~dp0
-
-set PATH=%PATH%;%ProgramFiles(x86)%\MSBuild\14.0\Bin\
-
-set MSBUILD_ARGS=/nologo /p:Configuration=Release /p:Platform=x64 /verbosity:normal /maxcpucount:%NUMBER_OF_PROCESSORS%
-
-set TOBUILD=( ^
-contrib\build\argon2\vs2015\Argon2Ref\Argon2Ref.vcxproj, ^
-contrib\build\gmp\SMP\libgmp.vcxproj, ^
-contrib\build\nettle\SMP\libnettle.vcxproj, ^
-contrib\build\nettle\SMP\libhogweed.vcxproj, ^
-contrib\build\libiconv\SMP\libiconv.vcxproj, ^
-contrib\build\nettle\SMP\libiconv.vcxproj, ^
-contrib\build\zlib\SMP\libzlib.vcxproj, ^
-contrib\build\gnutls\SMP\libgnutls.vcxproj, ^
-contrib\build\msgpack-c\msgpack_vc8.vcxproj, ^
-opendht.vcxproj, ^
-dhtchat.vcxproj, ^
-dhtscanner.vcxproj, ^
-dhtnode.vcxproj ^
-)
-
-for %%I in %TOBUILD% do (
-    call :build "%SRC%%%I"
-)
-
-exit /B %ERRORLEVEL%
-
-:build
-echo "Building project: " %*
-msbuild %* %MSBUILD_ARGS%
-exit /B 0
\ No newline at end of file
diff --git a/MSVC/contrib/src/argon2/argon2-uwp.patch b/MSVC/contrib/src/argon2/argon2-uwp.patch
deleted file mode 100644
index 8179c342c064552305a41bb5ea74a85bae939ebe..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/argon2/argon2-uwp.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/vs2015/Argon2Ref/Argon2Ref.vcxproj
-+++ b/vs2015/Argon2Ref/Argon2Ref.vcxproj
-@@ -59,7 +59,7 @@
-     <CharacterSet>MultiByte</CharacterSet>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
--    <ConfigurationType>Application</ConfigurationType>
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-     <UseDebugLibraries>false</UseDebugLibraries>
-     <PlatformToolset>v140</PlatformToolset>
-     <WholeProgramOptimization>true</WholeProgramOptimization>
-@@ -117,8 +117,8 @@
-     <IncludePath>$(SolutionDir)include;$(IncludePath)</IncludePath>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <OutDir>$(SolutionDir)vs2015\build\</OutDir>
--    <IntDir>$(SolutionDir)vs2015\build\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\..\lib\x64</OutDir>
-+    <IntDir>$(ProjectDir)vs2015\build\$(ProjectName)\</IntDir>
-     <IncludePath>$(SolutionDir)include;$(IncludePath)</IncludePath>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">
-@@ -179,6 +179,7 @@
-       <IntrinsicFunctions>true</IntrinsicFunctions>
-       <SDLCheck>true</SDLCheck>
-       <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <AdditionalIncludeDirectories>$(ProjectDir)..\..\include</AdditionalIncludeDirectories>
-     </ClCompile>
-     <Link>
-       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-@@ -223,4 +224,4 @@
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-   <ImportGroup Label="ExtensionTargets">
-   </ImportGroup>
--</Project>
-+</Project>
-\ No newline at end of file
--- 
-2.10.2.windows.1
diff --git a/MSVC/contrib/src/argon2/fetch_and_patch.bat b/MSVC/contrib/src/argon2/fetch_and_patch.bat
deleted file mode 100644
index 69e6ca60d33bcf6347600c9de62bc8cdcef54ca0..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/argon2/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set ARGON2_VERSION=1eea0104e7cb2a38c617cf90ffa46ce5db6aceda
-set ARGON2_URL=https://github.com/P-H-C/phc-winner-argon2/archive/%ARGON2_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%ARGON2_VERSION%.tar.gz %cd%
-) else (
-    wget %ARGON2_URL%
-)
-
-7z -y x %ARGON2_VERSION%.tar.gz && 7z -y x %ARGON2_VERSION%.tar -o%BUILD%
-del %ARGON2_VERSION%.tar && del %ARGON2_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\phc-winner-argon2-%ARGON2_VERSION% argon2
-
-cd %BUILD%\argon2
-
-git apply --reject --whitespace=fix %SRC%\argon2\argon2-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/fetch_and_patch.bat b/MSVC/contrib/src/fetch_and_patch.bat
deleted file mode 100644
index 9f82e4d301600b4c82f3ecefaeea61fc726919b9..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/fetch_and_patch.bat
+++ /dev/null
@@ -1,23 +0,0 @@
-@echo OFF
-SETLOCAL EnableDelayedExpansion
-
-set SRC=%~dp0
-
-if "%USE_CACHE%"=="" (
-    set USE_CACHE=0
-)
-
-set DEPENDENCIES=( ^
-argon2, ^
-gmp, ^
-gnutls, ^
-iconv, ^
-msgpack, ^
-nettle, ^
-opendht, ^
-zlib ^
-)
-
-for %%I in %DEPENDENCIES% do (
-    call %SRC%\%%I\fetch_and_patch.bat
-)
\ No newline at end of file
diff --git a/MSVC/contrib/src/gmp/fetch_and_patch.bat b/MSVC/contrib/src/gmp/fetch_and_patch.bat
deleted file mode 100644
index 1fb83c76149076a27c40b96410d38a4aa13b62fa..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gmp/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set GMP_VERSION=3c8f5a0ae0c2ac9ff0ea31b27f71b152979b556d
-set GMP_URL=https://github.com/ShiftMediaProject/gmp/archive/%GMP_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%GMP_VERSION%.tar.gz %cd%
-) else (
-    wget %GMP_URL%
-)
-
-7z -y x %GMP_VERSION%.tar.gz && 7z -y x %GMP_VERSION%.tar -o%BUILD%
-del %GMP_VERSION%.tar && del %GMP_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\gmp-%GMP_VERSION% gmp
-
-cd %BUILD%\gmp
-
-git apply --reject --whitespace=fix %SRC%\gmp\gmp-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/gmp/gmp-uwp.patch b/MSVC/contrib/src/gmp/gmp-uwp.patch
deleted file mode 100644
index e32ef9ae99f0e13ed662b127222cea8e26501236..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gmp/gmp-uwp.patch
+++ /dev/null
@@ -1,110 +0,0 @@
---- a/SMP/libgmp.vcxproj
-+++ b/SMP/libgmp.vcxproj
-@@ -1248,6 +1248,7 @@
-     <ProjectGuid>{02B94302-23D6-43EF-8865-95CDE99D5DC2}</ProjectGuid>
-     <RootNamespace>libgmp</RootNamespace>
-     <ProjectName>libgmp</ProjectName>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-   </PropertyGroup>
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-@@ -1368,65 +1369,65 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmpd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmpd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gmpd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gmpd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmp</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmp</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmp</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgmp</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gmp</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gmp</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
---- a/SMP/config.h
-+++ b/SMP/config.h
-@@ -202,7 +202,7 @@
- /* #undef HAVE_NATIVE_mpn_add_n_sub_n */
- #define HAVE_NATIVE_mpn_add_nc 1
- #if defined(__x86_64) || defined(_M_X64)
--#define HAVE_NATIVE_mpn_addaddmul_1msb0 1
-+#define HAVE_NATIVE_mpn_addaddmul_1msb0 0
- #define HAVE_NATIVE_mpn_addlsh1_n 1
- #define HAVE_NATIVE_mpn_addlsh2_n 1
- #define HAVE_NATIVE_mpn_addlsh_n 1
--- 
-2.8.1.windows.1
-
diff --git a/MSVC/contrib/src/gnutls/fetch_and_patch.bat b/MSVC/contrib/src/gnutls/fetch_and_patch.bat
deleted file mode 100644
index 5c25b52ee8570d368a8f1b659f76879f662a1ed4..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gnutls/fetch_and_patch.bat
+++ /dev/null
@@ -1,24 +0,0 @@
-set BUILD=%SRC%..\build
-
-set GNUTLS_VERSION=f2d0ade53ff644da55244aed79d05eca78d11a2f
-set GNUTLS_URL=https://github.com/ShiftMediaProject/gnutls/archive/%GNUTLS_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%GNUTLS_VERSION%.tar.gz %cd%
-) else (
-    wget %GNUTLS_URL%
-)
-
-7z -y x %GNUTLS_VERSION%.tar.gz && 7z -y x %GNUTLS_VERSION%.tar -o%BUILD%
-del %GNUTLS_VERSION%.tar && del %GNUTLS_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\gnutls-%GNUTLS_VERSION% gnutls
-
-cd %BUILD%\gnutls
-
-git apply --reject --whitespace=fix %SRC%\gnutls\gnutls-no-egd.patch
-git apply --reject --whitespace=fix %SRC%\gnutls\read-file-limits.h.patch
-git apply --reject --whitespace=fix %SRC%\gnutls\gnutls-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/gnutls/gnutls-no-egd.patch b/MSVC/contrib/src/gnutls/gnutls-no-egd.patch
deleted file mode 100644
index d4b5f093e7116eaa211b60adc2d97ea078568320..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gnutls/gnutls-no-egd.patch
+++ /dev/null
@@ -1,107 +0,0 @@
- {a => b}/lib/nettle/Makefile.am  |  2 +-
- {a => b}/lib/nettle/Makefile.in  | 11 +++++------
- {a => b}/lib/nettle/rnd-common.c |  7 +++++--
- 3 files changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/lib/nettle/Makefile.am b/lib/nettle/Makefile.am
-index e84ed1f..4767663 100644
---- a/lib/nettle/Makefile.am
-+++ b/lib/nettle/Makefile.am
-@@ -38,7 +38,7 @@ endif
- 
- noinst_LTLIBRARIES = libcrypto.la
- 
--libcrypto_la_SOURCES = pk.c mpi.c mac.c cipher.c init.c egd.c egd.h \
-+libcrypto_la_SOURCES = pk.c mpi.c mac.c cipher.c init.c \
- 	gnettle.h rnd-common.h rnd-common.c \
- 	rnd.c
- 
-diff --git a/lib/nettle/Makefile.in b/lib/nettle/Makefile.in
-index 88ae7cf..6ddd536 100644
---- a/lib/nettle/Makefile.in
-+++ b/lib/nettle/Makefile.in
-@@ -221,8 +221,8 @@ CONFIG_CLEAN_FILES =
- CONFIG_CLEAN_VPATH_FILES =
- LTLIBRARIES = $(noinst_LTLIBRARIES)
- libcrypto_la_LIBADD =
--am__libcrypto_la_SOURCES_DIST = pk.c mpi.c mac.c cipher.c init.c egd.c \
--	egd.h gnettle.h rnd-common.h rnd-common.c rnd.c rnd-fips.c \
-+am__libcrypto_la_SOURCES_DIST = pk.c mpi.c mac.c cipher.c init.c \
-+	gnettle.h rnd-common.h rnd-common.c rnd.c rnd-fips.c \
- 	int/drbg-aes-self-test.c int/dsa-fips.h \
- 	int/dsa-keygen-fips186.c int/dsa-validate.c \
- 	int/provable-prime.c int/drbg-aes.c int/drbg-aes.h \
-@@ -233,7 +233,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
- @ENABLE_FIPS140_TRUE@	int/dsa-keygen-fips186.lo \
- @ENABLE_FIPS140_TRUE@	int/dsa-validate.lo int/provable-prime.lo \
- @ENABLE_FIPS140_TRUE@	int/drbg-aes.lo int/rsa-keygen-fips186.lo
--am_libcrypto_la_OBJECTS = pk.lo mpi.lo mac.lo cipher.lo init.lo egd.lo \
-+am_libcrypto_la_OBJECTS = pk.lo mpi.lo mac.lo cipher.lo init.lo \
- 	rnd-common.lo rnd.lo $(am__objects_1)
- libcrypto_la_OBJECTS = $(am_libcrypto_la_OBJECTS)
- AM_V_lt = $(am__v_lt_@AM_V@)
-@@ -1279,8 +1279,8 @@ AM_CPPFLAGS = -I$(srcdir)/int -I$(srcdir)/../../gl \
- 	-I$(builddir)/../includes -I$(builddir)/../../gl \
- 	-I$(srcdir)/.. $(am__append_1)
- noinst_LTLIBRARIES = libcrypto.la
--libcrypto_la_SOURCES = pk.c mpi.c mac.c cipher.c init.c egd.c egd.h \
--	gnettle.h rnd-common.h rnd-common.c rnd.c $(am__append_2)
-+libcrypto_la_SOURCES = pk.c mpi.c mac.c cipher.c init.c gnettle.h \
-+	rnd-common.h rnd-common.c rnd.c $(am__append_2)
- all: all-am
- 
- .SUFFIXES:
-@@ -1355,7 +1355,6 @@ distclean-compile:
- 	-rm -f *.tab.c
- 
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cipher.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/egd.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi.Plo@am__quote@
-diff --git a/lib/nettle/rnd-common.c b/lib/nettle/rnd-common.c
-index c69ff3b..80b5f32 100644
---- a/lib/nettle/rnd-common.c
-+++ b/lib/nettle/rnd-common.c
-@@ -139,7 +139,7 @@ void _rnd_system_entropy_deinit(void)
- #include <sys/time.h>
- #include <fcntl.h>
- #include <locks.h>
--#include "egd.h"
-+//#include "egd.h"
- 
- static int _gnutls_urandom_fd = -1;
- static mode_t _gnutls_urandom_fd_mode = 0;
-@@ -208,6 +208,7 @@ static int _rnd_get_system_entropy_urandom(void* _rnd, size_t size)
- 	return 0;
- }
- 
-+#if 0
- static
- int _rnd_get_system_entropy_egd(void* _rnd, size_t size)
- {
-@@ -232,6 +233,7 @@ int _rnd_get_system_entropy_egd(void* _rnd, size_t size)
- 
- 	return 0;
- }
-+#endif
- 
- int _rnd_system_entropy_check(void)
- {
-@@ -268,6 +270,7 @@ int _rnd_system_entropy_init(void)
- 
- 	return 0;
- fallback:
-+#if 0
- 	_gnutls_urandom_fd = _rndegd_connect_socket();
- 	if (_gnutls_urandom_fd < 0) {
- 		_gnutls_debug_log("Cannot open egd socket!\n");
-@@ -281,7 +284,7 @@ fallback:
- 	}
- 
- 	_rnd_get_system_entropy = _rnd_get_system_entropy_egd;
--	
-+#endif
- 	return 0;
- }
- 
diff --git a/MSVC/contrib/src/gnutls/gnutls-uwp.patch b/MSVC/contrib/src/gnutls/gnutls-uwp.patch
deleted file mode 100644
index 6085027964f0c736ad1478632be065e8f5001505..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gnutls/gnutls-uwp.patch
+++ /dev/null
@@ -1,445 +0,0 @@
---- a/SMP/libgnutls.vcxproj
-+++ b/SMP/libgnutls.vcxproj
-@@ -743,91 +744,91 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutlsd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutlsd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutlsd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLLStaticDeps|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutlsd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutlsd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLLStaticDeps|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutlsd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutls</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutls</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutls</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libgnutls</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutls</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLLStaticDeps|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutls</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutls</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLLStaticDeps|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>gnutls</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-@@ -1834,7 +1834,7 @@ del /f /q $(OutDir)\licenses\gnutls.txt
-       <BufferSecurityCheck>false</BufferSecurityCheck>
-       <FloatingPointModel>Fast</FloatingPointModel>
-       <FloatingPointExceptions>false</FloatingPointExceptions>
--      <PreprocessorDefinitions>HAVE_CONFIG_H;inline=__inline;ASN1_BUILDING;ASN1_STATIC;LOCALEDIR=".";__func__=__FUNCTION__;ASM_X86;ASM_X86_64;_WIN32_WINNT=0x0600;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <PreprocessorDefinitions>RING_UWP;HAVE_WIN32_LOCKS;HAVE_CONFIG_H;inline=__inline;ASN1_BUILDING;ASN1_STATIC;LOCALEDIR=".";__func__=__FUNCTION__;ASM_X86_64;_WIN32_WINNT=0x0600;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-       <AdditionalIncludeDirectories>.\;.\lib;..\lib;..\lib\accelerated;..\lib\auth;..\lib\ext;..\lib\extras;..\lib\minitasn1;..\lib\nettle;..\lib\nettle\int;..\lib\openpgp;..\lib\opencdk;..\lib\x509;..\lib\includes;..\gl;$(OutDir)\include;..\lib\accelerated\x86;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-       <ExceptionHandling>false</ExceptionHandling>
-       <DisableSpecificWarnings>4996;4244;4018;4146;4267;4028;4101;4020;4047;4024;4005;4311;4312;4334;4116;4090;%(DisableSpecificWarnings)</DisableSpecificWarnings>
-@@ -1850,7 +1850,7 @@ del /f /q $(OutDir)\licenses\gnutls.txt
-       <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
-       <TargetMachine>MachineX64</TargetMachine>
-       <SubSystem>Windows</SubSystem>
--      <AdditionalDependencies>Crypt32.lib;Ws2_32.lib;libzlib.lib;libiconv.lib;libhogweed.lib;libgmp.lib;libnettle.lib;%(AdditionalDependencies)</AdditionalDependencies>
-+      <AdditionalDependencies>bcrypt.lib;Ws2_32.lib;libzlib.lib;libiconv.lib;libhogweed.lib;libgmp.lib;libnettle.lib;%(AdditionalDependencies)</AdditionalDependencies>
-       <AdditionalLibraryDirectories>$(OutDir)\lib\x64\;$(ProjectDir)\..\..\prebuilt\lib\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-       <AdditionalOptions>/IGNORE:4006,4221,4042 %(AdditionalOptions)</AdditionalOptions>
-     </Lib>
---- a/lib/nettle/rnd-common.c
-+++ b/lib/nettle/rnd-common.c
-@@ -45,6 +45,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <bcrypt.h>
- 
- /* gnulib wants to claim strerror even if it cannot provide it. WTF */
- #undef strerror
-@@ -88,16 +89,25 @@ void _rnd_get_event(struct event_st *e)
- #include <wincrypt.h>
- 
- static HCRYPTPROV device_fd = 0;
-+static BCRYPT_ALG_HANDLE bdevice_fd = 0;
- 
- static
- int _rnd_get_system_entropy_win32(void* rnd, size_t size)
- {
-+#ifndef RING_UWP
- 	if (!CryptGenRandom(device_fd, (DWORD) size, rnd)) {
- 		_gnutls_debug_log("Error in CryptGenRandom: %d\n",
- 					(int)GetLastError());
- 		return GNUTLS_E_RANDOM_DEVICE_ERROR;
- 	}
--
-+#else
-+    NTSTATUS ret = BCryptGenRandom(bdevice_fd, rnd, (ULONG) size, 0);
-+    if (!(BCRYPT_SUCCESS(ret))) {
-+		_gnutls_debug_log("Error in BCryptGenRandom: %d\n",
-+					(int)GetLastError());
-+		return GNUTLS_E_RANDOM_DEVICE_ERROR;
-+	}
-+#endif
- 	return 0;
- }
- 
-@@ -111,7 +121,7 @@ int _rnd_system_entropy_check(void)
- int _rnd_system_entropy_init(void)
- {
- 	int old;
--
-+#ifndef RING_UWP
- 	if (!CryptAcquireContext
- 		(&device_fd, NULL, NULL, PROV_RSA_FULL,
- 		 CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
-@@ -119,13 +129,26 @@ int _rnd_system_entropy_init(void)
- 			("error in CryptAcquireContext!\n");
- 		return GNUTLS_E_RANDOM_DEVICE_ERROR;
- 	}
--	
-+#else
-+	NTSTATUS ret = BCryptOpenAlgorithmProvider(&bdevice_fd,
-+        BCRYPT_RNG_ALGORITHM, MS_PRIMITIVE_PROVIDER,
-+        0);
-+	if (!(BCRYPT_SUCCESS(ret))) {
-+		_gnutls_debug_log
-+			("error in BCryptOpenAlgorithmProvider!\n");
-+		return GNUTLS_E_RANDOM_DEVICE_ERROR;
-+	}
-+#endif
- 	return 0;
- }
- 
- void _rnd_system_entropy_deinit(void)
- {
-+#ifndef RING_UWP
- 	CryptReleaseContext(device_fd, 0);
-+#else
-+    BCryptCloseAlgorithmProvider(bdevice_fd, 0);
-+#endif
- }
- 
- #else /* POSIX */
---- a/lib/opencdk/misc.c
-+++ b/lib/opencdk/misc.c
-@@ -34,7 +34,6 @@
- #include <gnutls_int.h>
- #include <gnutls_str.h>
- 
--
- u32 _cdk_buftou32(const byte * buf)
- {
- 	u32 u;
-@@ -149,6 +148,13 @@ int _cdk_check_args(int overwrite, const char *in, const char *out)
- }
- 
- #ifdef _WIN32
-+#if (_WIN32_WINNT >= 0x0600)
-+FILE *_cdk_tmpfile(void)
-+{
-+	return NULL;
-+}
-+#else
-+
- #include <io.h>
- #include <fcntl.h>
- 
-@@ -183,6 +189,7 @@ FILE *_cdk_tmpfile(void)
- 	_close(fd);
- 	return NULL;
- }
-+#endif /*_WIN32*/
- #else
- FILE *_cdk_tmpfile(void)
- {
---- a/lib/system-keys-win.c
-+++ b/lib/system-keys-win.c
-@@ -20,9 +20,10 @@
- 
- // Before including any Windows header we need to set _WIN32_WINNT to Vista
- // (or higher) so that the NCRYPT stuff can be used.
--#if _WIN32_WINNT < 0x600
-+#define _WIN32_WINNT 0x0A00
-+#if _WIN32_WINNT < 0x0600
- #undef _WIN32_WINNT
--#define _WIN32_WINNT 0x600
-+#define _WIN32_WINNT 0x0600
- #endif
- 
- 
-@@ -1075,7 +1076,11 @@ int _gnutls_system_key_init(void)
- 	int ret;
- 
- #ifdef DYN_NCRYPT
--	ncrypt_lib = LoadLibraryA("ncrypt.dll");
-+#if (_WIN32_WINNT < 0x0A00)
-+	ncrypt_lib = LoadLibrary("ncrypt.dll");
-+#else
-+    ncrypt_lib = LoadPackagedLibrary("ncrypt.dll", 0);
-+#endif
- 	if (ncrypt_lib == NULL) {
- 		return gnutls_assert_val(GNUTLS_E_CRYPTO_INIT_FAILED);
- 	}
---- a/lib/system-keys-win.c
-+++ b/lib/system-keys-win.c
-@@ -396,7 +396,11 @@ _gnutls_privkey_import_system_url(gnutls_privkey_t pkey,
- 	blob.cbData = id_size;
- 	blob.pbData = id;
- 
--	store = CertOpenSystemStore(0, "MY");
-+	store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"MY");
- 	if (store == NULL) {
- 		gnutls_assert();
- 		ret = GNUTLS_E_FILE_ERROR;
-@@ -535,7 +539,11 @@ _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const char *url)
- 	blob.cbData = id_size;
- 	blob.pbData = id;
- 
--	store = CertOpenSystemStore(0, "MY");
-+	store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"MY");
- 	if (store == NULL) {
- 		gnutls_assert();
- 		ret = GNUTLS_E_FILE_ERROR;
-@@ -776,7 +784,11 @@ gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,
- 		if (*iter == NULL)
- 			return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
- 
--		(*iter)->store = CertOpenSystemStore(0, "MY");
-+		(*iter)->store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"MY");
- 		if ((*iter)->store == NULL) {
- 			gnutls_free(*iter);
- 			*iter = NULL;
-@@ -841,7 +853,11 @@ int gnutls_system_key_delete(const char *cert_url, const char *key_url)
- 	blob.cbData = id_size;
- 	blob.pbData = id;
- 
--	store = CertOpenSystemStore(0, "MY");
-+	store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"MY");
- 	if (store != NULL) {
- 		do {
- 			cert = CertFindCertificateInStore(store,
---- a/lib/system.c
-+++ b/lib/system.c
-@@ -446,9 +446,17 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
- 		gnutls_datum_t data;
- 
- 		if (i == 0)
--			store = CertOpenSystemStore(0, "ROOT");
-+            store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"ROOT");
- 		else
--			store = CertOpenSystemStore(0, "CA");
-+			store = CertOpenStore(  CERT_STORE_PROV_SYSTEM_A,
-+                        X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
-+                        0,
-+                        CERT_SYSTEM_STORE_CURRENT_USER,
-+                        (const void*)"CA");
- 
- 		if (store == NULL)
- 			return GNUTLS_E_FILE_ERROR;
---- a/lib/accelerated/x86/x86-common.c
-+++ b/lib/accelerated/x86/x86-common.c
-@@ -652,6 +652,7 @@ void register_x86_intel_crypto(unsigned capabilities)
- 
- void register_x86_crypto(void)
- {
-+#ifndef RING_UWP
- 	unsigned capabilities = 0;
- 	char *p;
- 	p = secure_getenv("GNUTLS_CPUID_OVERRIDE");
-@@ -663,5 +664,7 @@ void register_x86_crypto(void)
- #ifdef ENABLE_PADLOCK
- 	register_x86_padlock_crypto(capabilities);
- #endif
-+#endif
-+    register_x86_intel_crypto(0);
- }
- 
---- a/lib/gnutls_global.c
-+++ b/lib/gnutls_global.c
-@@ -240,7 +240,9 @@ int gnutls_global_init(void)
- 
- 	_gnutls_switch_lib_state(LIB_STATE_INIT);
- 
-+#ifndef RING_UWP
- 	e = secure_getenv("GNUTLS_DEBUG_LEVEL");
-+#endif
- 	if (e != NULL) {
- 		level = atoi(e);
- 		gnutls_global_set_log_level(level);
-@@ -473,8 +475,10 @@ const char *e;
- 	if (_gnutls_global_init_skip() != 0)
- 		return;
- 
-+#ifndef RING_UWP
- 	e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
--	if (e != NULL) {
-+#endif
-+    if (e != NULL) {
- 		ret = atoi(e);
- 		if (ret == 1)
- 			return;
-@@ -494,7 +498,9 @@ static void _DESTRUCTOR lib_deinit(void)
- 	if (_gnutls_global_init_skip() != 0)
- 		return;
- 
-+#ifndef RING_UWP
- 	e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
-+#endif
- 	if (e != NULL) {
- 		int ret = atoi(e);
- 		if (ret == 1)
---- a/lib/gnutls_kx.c
-+++ b/lib/gnutls_kx.c
-@@ -105,7 +105,9 @@ static void write_nss_key_log(gnutls_session_t session, const gnutls_datum_t *pr
- 
- 	if (!checked_env) {
- 		checked_env = 1;
-+#ifndef RING_UWP
- 		keylogfile = secure_getenv("SSLKEYLOGFILE");
-+#endif
- 	}
- 
- 	if (keylogfile == NULL)
---- a/lib/system.c
-+++ b/lib/system.c
-@@ -340,7 +340,11 @@ void gnutls_system_global_deinit(void)
-  */
- int _gnutls_find_config_path(char *path, size_t max_size)
- {
--	const char *home_dir = secure_getenv("HOME");
-+#ifndef RING_UWP
-+    const char *home_dir = secure_getenv("HOME");
-+#else
-+    const char *home_dir = NULL;
-+#endif
- 
- 	if (home_dir != NULL && home_dir[0] != 0) {
- 		snprintf(path, max_size, "%s/" CONFIG_PATH, home_dir);
-@@ -349,8 +353,13 @@ int _gnutls_find_config_path(char *path, size_t max_size)
- 
- #ifdef _WIN32
- 	if (home_dir == NULL || home_dir[0] == '\0') {
-+#ifndef RING_UWP
- 		const char *home_drive = getenv("HOMEDRIVE");
- 		const char *home_path = getenv("HOMEPATH");
-+#else
-+        const char *home_drive = NULL;
-+		const char *home_path = NULL;
-+#endif
- 
- 		if (home_drive != NULL && home_path != NULL) {
- 			snprintf(path, max_size, "%s%s\\" CONFIG_PATH, home_drive, home_path);
-2.8.1.windows.1
-
diff --git a/MSVC/contrib/src/gnutls/read-file-limits.h.patch b/MSVC/contrib/src/gnutls/read-file-limits.h.patch
deleted file mode 100644
index b13b1a88f482bce0d18cb239132237313b5cfd0b..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/gnutls/read-file-limits.h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gnutls/gl/read-file.c.orig	2012-03-06 20:59:29.600593329 -0500
-+++ gnutls/gl/read-file.c	2012-03-06 20:59:44.568593328 -0500
-@@ -35,6 +35,9 @@
- /* Get errno. */
- #include <errno.h>
- 
-+/* Get SIZE_MAX */
-+#include <limits.h>
-+
- /* Read a STREAM and return a newly allocated string with the content,
-    and set *LENGTH to the length of the string.  The string is
-    zero-terminated, but the terminating zero byte is not counted in
diff --git a/MSVC/contrib/src/iconv/fetch_and_patch.bat b/MSVC/contrib/src/iconv/fetch_and_patch.bat
deleted file mode 100644
index b7503aa3fea9b0e16264223c2d3bb345d2c9f0b8..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/iconv/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set ICONV_VERSION=65ab92f7a1699ecc39e37fb81f66e5a42aaa35c4
-set ICONV_URL=https://github.com/ShiftMediaProject/libiconv/archive/%ICONV_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%ICONV_VERSION%.tar.gz %cd%
-) else (
-    wget %ICONV_URL%
-)
-
-7z -y x %ICONV_VERSION%.tar.gz && 7z -y x %ICONV_VERSION%.tar -o%BUILD%
-del %ICONV_VERSION%.tar && del %ICONV_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\libiconv-%ICONV_VERSION% libiconv
-
-cd %BUILD%\libiconv
-
-git apply --reject --whitespace=fix %SRC%\iconv\libiconv-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/iconv/libiconv-uwp.patch b/MSVC/contrib/src/iconv/libiconv-uwp.patch
deleted file mode 100644
index 233cdfc74575f23a45df7287cf91397dc733b4bf..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/iconv/libiconv-uwp.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- a/SMP/libiconv.vcxproj
-+++ b/SMP/libiconv.vcxproj
-@@ -45,6 +45,7 @@
-   <PropertyGroup Label="Globals">
-     <ProjectGuid>{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}</ProjectGuid>
-     <RootNamespace>libiconv</RootNamespace>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-   </PropertyGroup>
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-@@ -164,65 +165,65 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconvd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconvd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>iconvd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>iconvd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconv</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconv</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconv</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libiconv</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>iconv</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>iconv</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--- 
-2.8.1.windows.1
-
diff --git a/MSVC/contrib/src/msgpack/fetch_and_patch.bat b/MSVC/contrib/src/msgpack/fetch_and_patch.bat
deleted file mode 100644
index 424c36f1cfce11908253e1e0bef03823cc7ab399..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/msgpack/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set MSGPACK_VERSION=1df97bc37b363a340c5ad06c5cbcc53310aaff80
-set MSGPACK_URL=https://github.com/msgpack/msgpack-c/archive/%MSGPACK_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%MSGPACK_VERSION%.tar.gz %cd%
-) else (
-    wget %MSGPACK_URL%
-)
-
-7z -y x %MSGPACK_VERSION%.tar.gz && 7z -y x %MSGPACK_VERSION%.tar -o%BUILD%
-del %MSGPACK_VERSION%.tar && del %MSGPACK_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\msgpack-c-%MSGPACK_VERSION% msgpack-c
-
-cd %BUILD%\msgpack-c
-
-git apply --reject --whitespace=fix %SRC%\msgpack\msgpack-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/msgpack/msgpack-uwp.patch b/MSVC/contrib/src/msgpack/msgpack-uwp.patch
deleted file mode 100644
index d79e9ef97ad6fd805851e22c5c9610b906da04d9..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/msgpack/msgpack-uwp.patch
+++ /dev/null
@@ -1,221 +0,0 @@
---- /dev/null
-+++ b/msgpack_vc8.vcxproj
-@@ -0,0 +1,214 @@
-+<?xml version="1.0" encoding="utf-8"?>
-+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-+  <ItemGroup Label="ProjectConfigurations">
-+    <ProjectConfiguration Include="Debug|Win32">
-+      <Configuration>Debug</Configuration>
-+      <Platform>Win32</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Debug|x64">
-+      <Configuration>Debug</Configuration>
-+      <Platform>x64</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Release|Win32">
-+      <Configuration>Release</Configuration>
-+      <Platform>Win32</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Release|x64">
-+      <Configuration>Release</Configuration>
-+      <Platform>x64</Platform>
-+    </ProjectConfiguration>
-+  </ItemGroup>
-+  <PropertyGroup Label="Globals">
-+    <ProjectName>MessagePack</ProjectName>
-+    <ProjectGuid>{122A2EA4-B283-4241-9655-786DE78283B2}</ProjectGuid>
-+    <RootNamespace>MessagePack</RootNamespace>
-+    <Keyword>Win32Proj</Keyword>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-+  </PropertyGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <PlatformToolset>v140</PlatformToolset>
-+    <CharacterSet>Unicode</CharacterSet>
-+    <WholeProgramOptimization>false</WholeProgramOptimization>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <PlatformToolset>v140</PlatformToolset>
-+    <CharacterSet>Unicode</CharacterSet>
-+    <WholeProgramOptimization>false</WholeProgramOptimization>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <PlatformToolset>v140</PlatformToolset>
-+    <CharacterSet>Unicode</CharacterSet>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <PlatformToolset>v140</PlatformToolset>
-+    <CharacterSet>Unicode</CharacterSet>
-+  </PropertyGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-+  <ImportGroup Label="ExtensionSettings">
-+  </ImportGroup>
-+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <PropertyGroup Label="UserMacros" />
-+  <PropertyGroup>
-+    <_ProjectFileVersion>14.0.25123.0</_ProjectFileVersion>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+    <OutDir>$(ProjectDir)..\</OutDir>
-+    <IntDir>$(Configuration)\</IntDir>
-+    <TargetName>msgpackd</TargetName>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+    <TargetName>msgpackd</TargetName>
-+    <OutDir>$(ProjectDir)..\</OutDir>
-+    <IntDir>$(Configuration)\</IntDir>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+    <OutDir>$(ProjectDir)..\</OutDir>
-+    <IntDir>$(Configuration)\</IntDir>
-+    <TargetName>msgpack</TargetName>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+    <TargetName>msgpack</TargetName>
-+    <OutDir>$(ProjectDir)..\</OutDir>
-+    <IntDir>$(Configuration)\</IntDir>
-+  </PropertyGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+    <ClCompile>
-+      <Optimization>Disabled</Optimization>
-+      <AdditionalIncludeDirectories>.;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>WIN32_NATIVE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <MinimalRebuild>true</MinimalRebuild>
-+      <BasicRuntimeChecks>StackFrameRuntimeCheck</BasicRuntimeChecks>
-+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+      <PrecompiledHeader />
-+      <WarningLevel>Level3</WarningLevel>
-+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-+    </ClCompile>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
-+    </Lib>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+
-+mkdir $(OutDir)\include\msgpack
-+
-+copy include\*.h $(OutDir)\include\
-+
-+copy include\*.hpp $(OutDir)\include\
-+xcopy /S /Y include\msgpack\*.h $(OutDir)\include\msgpack
-+xcopy /S /Y include\msgpack\*.hpp $(OutDir)\include\msgpack
-+</Command>
-+    </PostBuildEvent>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+    <ClCompile>
-+      <Optimization>Disabled</Optimization>
-+      <AdditionalIncludeDirectories>.;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>WIN32_NATIVE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <BasicRuntimeChecks>StackFrameRuntimeCheck</BasicRuntimeChecks>
-+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-+      <PrecompiledHeader>
-+      </PrecompiledHeader>
-+      <WarningLevel>Level3</WarningLevel>
-+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+    </ClCompile>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
-+    </Lib>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+
-+mkdir $(OutDir)\include\msgpack
-+
-+copy include\*.h $(OutDir)\include\
-+
-+copy include\*.hpp $(OutDir)\include\
-+xcopy /S /Y include\msgpack\*.h $(OutDir)\include\msgpack
-+xcopy /S /Y include\msgpack\*.hpp $(OutDir)\include\msgpack
-+</Command>
-+    </PostBuildEvent>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+    <ClCompile>
-+      <AdditionalIncludeDirectories>.;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>WIN32_NATIVE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+      <PrecompiledHeader />
-+      <WarningLevel>Level3</WarningLevel>
-+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+      <ProgramDataBaseFileName>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDataBaseFileName>
-+    </ClCompile>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
-+      <LinkTimeCodeGeneration />
-+    </Lib>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+
-+mkdir $(OutDir)\include\msgpack
-+
-+copy include\*.h $(OutDir)\include\
-+
-+copy include\*.hpp $(OutDir)\include\
-+xcopy /S /Y include\msgpack\*.h $(OutDir)\include\msgpack
-+xcopy /S /Y include\msgpack\*.hpp $(OutDir)\include\msgpack
-+</Command>
-+    </PostBuildEvent>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+    <ClCompile>
-+      <AdditionalIncludeDirectories>.;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>MSGPACK_USE_CPP03;WIN32_NATIVE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-+      <PrecompiledHeader>
-+      </PrecompiledHeader>
-+      <WarningLevel>Level3</WarningLevel>
-+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+      <ProgramDataBaseFileName>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDataBaseFileName>
-+    </ClCompile>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
-+      <LinkTimeCodeGeneration />
-+    </Lib>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+
-+mkdir $(OutDir)\include\msgpack
-+
-+copy include\*.h $(OutDir)\include\
-+
-+copy include\*.hpp $(OutDir)\include\
-+xcopy /S /Y include\msgpack\*.h $(OutDir)\include\msgpack
-+xcopy /S /Y include\msgpack\*.hpp $(OutDir)\include\msgpack
-+</Command>
-+    </PostBuildEvent>
-+  </ItemDefinitionGroup>
-+  <ItemGroup>
-+    <ClCompile Include="src\objectc.c" />
-+    <ClCompile Include="src\unpack.c" />
-+    <ClCompile Include="src\version.c" />
-+    <ClCompile Include="src\vrefbuffer.c" />
-+    <ClCompile Include="src\zone.c" />
-+  </ItemGroup>
-+  <ItemGroup>
-+    <ClInclude Include="include\msgpack.hpp" />
-+  </ItemGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-+  <ImportGroup Label="ExtensionTargets">
-+  </ImportGroup>
-+</Project>
-\ No newline at end of file
--- 
-2.8.1.windows.1
-
diff --git a/MSVC/contrib/src/nettle/fetch_and_patch.bat b/MSVC/contrib/src/nettle/fetch_and_patch.bat
deleted file mode 100644
index 6146062f97fc5bea50cd64dc9e1b9351f7ef08d1..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/nettle/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set NETTLE_VERSION=4e0b2723b76d4163fa37b2b456d41534154ec97c
-set NETTLE_URL=https://github.com/ShiftMediaProject/nettle/archive/%NETTLE_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%NETTLE_VERSION%.tar.gz %cd%
-) else (
-    wget %NETTLE_URL%
-)
-
-7z -y x %NETTLE_VERSION%.tar.gz && 7z -y x %NETTLE_VERSION%.tar -o%BUILD%
-del %NETTLE_VERSION%.tar && del %NETTLE_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\nettle-%NETTLE_VERSION% nettle
-
-cd %BUILD%\nettle
-
-git apply --reject --whitespace=fix %SRC%\nettle\nettle-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/nettle/nettle-uwp.patch b/MSVC/contrib/src/nettle/nettle-uwp.patch
deleted file mode 100644
index bca04dba52c5491c98fc4069cc283d4f38cbe440..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/nettle/nettle-uwp.patch
+++ /dev/null
@@ -1,228 +0,0 @@
---- a/SMP/libhogweed.vcxproj
-+++ b/SMP/libhogweed.vcxproj
-@@ -242,6 +242,7 @@
-   <PropertyGroup Label="Globals">
-     <ProjectGuid>{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}</ProjectGuid>
-     <RootNamespace>libhogweed</RootNamespace>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-   </PropertyGroup>
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-@@ -405,91 +406,91 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweedd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweedd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweedd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLLStaticDeps|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweedd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweedd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLLStaticDeps|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweedd</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweed</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweed</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweed</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libhogweed</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweed</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLLStaticDeps|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweed</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweed</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLLStaticDeps|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>hogweed</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
---- a/SMP/libnettle.vcxproj
-+++ b/SMP/libnettle.vcxproj
-@@ -278,6 +278,7 @@
-   <PropertyGroup Label="Globals">
-     <ProjectGuid>{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}</ProjectGuid>
-     <RootNamespace>libnettle</RootNamespace>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-   </PropertyGroup>
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-@@ -397,65 +398,65 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettled</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettled</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>nettled</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>nettled</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettle</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettle</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettle</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libnettle</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>nettle</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>nettle</TargetName>
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--- 
-2.8.1.windows.1
diff --git a/MSVC/contrib/src/zlib/fetch_and_patch.bat b/MSVC/contrib/src/zlib/fetch_and_patch.bat
deleted file mode 100644
index 59f25a966c4e0cd5a5438df825151f487b87a178..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/zlib/fetch_and_patch.bat
+++ /dev/null
@@ -1,22 +0,0 @@
-set BUILD=%SRC%..\build
-
-set ZLIB_VERSION=3a062eb61d0c3d4aa30851cd1a6597b977b56597
-set ZLIB_URL=https://github.com/ShiftMediaProject/zlib/archive/%ZLIB_VERSION%.tar.gz
-
-mkdir %BUILD%
-
-if %USE_CACHE%==1 (
-    copy %CACHE_DIR%\%ZLIB_VERSION%.tar.gz %cd%
-) else (
-    wget %ZLIB_URL%
-)
-
-7z -y x %ZLIB_VERSION%.tar.gz && 7z -y x %ZLIB_VERSION%.tar -o%BUILD%
-del %ZLIB_VERSION%.tar && del %ZLIB_VERSION%.tar.gz && del %BUILD%\pax_global_header
-rename %BUILD%\zlib-%ZLIB_VERSION% zlib
-
-cd %BUILD%\zlib
-
-git apply --reject --whitespace=fix %SRC%\zlib\zlib-uwp.patch
-
-cd %SRC%
\ No newline at end of file
diff --git a/MSVC/contrib/src/zlib/zlib-uwp.patch b/MSVC/contrib/src/zlib/zlib-uwp.patch
deleted file mode 100644
index c559cdcb6786c3db62dcfe4cad7739ba566eb34e..0000000000000000000000000000000000000000
--- a/MSVC/contrib/src/zlib/zlib-uwp.patch
+++ /dev/null
@@ -1,97 +0,0 @@
---- a/SMP/libzlib.vcxproj
-+++ b/SMP/libzlib.vcxproj
-@@ -45,6 +45,7 @@
-   <PropertyGroup Label="Globals">
-     <ProjectGuid>{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}</ProjectGuid>
-     <RootNamespace>libzlib</RootNamespace>
-+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-   </PropertyGroup>
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-@@ -165,63 +166,63 @@
-   </ImportGroup>
-   <PropertyGroup Label="UserMacros" />
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlibd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>zlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|Win32'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>zlibd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlibd</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseLTO|x64'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>libzlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>zlib</TargetName>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
-   </PropertyGroup>
-   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
--    <OutDir>$(ProjectDir)..\..\..\msvc\</OutDir>
--    <IntDir>$(SolutionDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-+    <OutDir>$(ProjectDir)..\..\</OutDir>
-+    <IntDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
-     <TargetName>zlibd</TargetName>
-     <LinkIncremental>false</LinkIncremental>
-     <CustomBuildAfterTargets>Clean</CustomBuildAfterTargets>
--- 
-2.8.1.windows.1
-
diff --git a/MSVC/fetch_deps.bat b/MSVC/fetch_deps.bat
deleted file mode 100644
index 5117479c96e030e9d360f841862846e8f79b1465..0000000000000000000000000000000000000000
--- a/MSVC/fetch_deps.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo on
-call contrib\src\fetch_and_patch.bat
\ No newline at end of file
diff --git a/MSVC/opendht.vcxproj b/MSVC/opendht.vcxproj
index 7e55758c3b9ed53c63317945e2d01395ee294a29..3d157a8623f349195ba923c6d7c4bf92230f959d 100644
--- a/MSVC/opendht.vcxproj
+++ b/MSVC/opendht.vcxproj
@@ -20,6 +20,7 @@
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\src\dht_proxy_client.cpp" />
+    <ClCompile Include="..\src\http.cpp" />
     <ClCompile Include="..\src\network_utils.cpp" />
     <ClCompile Include="..\src\op_cache.cpp" />
     <ClCompile Include="..\src\peer_discovery.cpp" />
@@ -50,6 +51,7 @@
     <ClCompile Include="..\src\value.cpp" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="..\include\opendht\http.h" />
     <ClInclude Include="..\src\network_utils.h" />
     <ClInclude Include="..\src\thread_pool.h" />
     <ClInclude Include="unistd.h" />
@@ -158,10 +160,10 @@
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\restbed\source</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\openssl\inc32;$(ProjectDir)..\..\asio\asio\include;$(ProjectDir)..\..\restinio\dev;$(ProjectDir)..\..\fmt\include;$(ProjectDir)..\..\http_parser</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;ASIO_STANDALONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;4273;</DisableSpecificWarnings>
-      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS  %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNING;%(AdditionalOptions)</AdditionalOptions>
       <SuppressStartupBanner>false</SuppressStartupBanner>
       <ProgramDataBaseFileName>$(OutDir)lib\$(PlatformTarget)\$(TargetName).pdb</ProgramDataBaseFileName>
     </ClCompile>
@@ -182,10 +184,10 @@ copy ..\include\opendht.h $(OutDir)\include\</Command>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
       <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\restbed\source</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\openssl\inc32;$(ProjectDir)..\..\asio\asio\include;$(ProjectDir)..\..\restinio\dev;$(ProjectDir)..\..\fmt\include;$(ProjectDir)..\..\http_parser</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;ASIO_STANDALONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;4273;</DisableSpecificWarnings>
-      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS  %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNING;%(AdditionalOptions)</AdditionalOptions>
       <ProgramDataBaseFileName>$(OutDir)lib\$(PlatformTarget)\$(TargetName).pdb</ProgramDataBaseFileName>
     </ClCompile>
     <PostBuildEvent>
@@ -207,10 +209,10 @@ copy ..\include\opendht.h $(OutDir)\include\</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\restbed\source</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\openssl\inc32;$(ProjectDir)..\..\asio\asio\include;$(ProjectDir)..\..\restinio\dev;$(ProjectDir)..\..\fmt\include;$(ProjectDir)..\..\http_parser</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;ASIO_STANDALONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;4273;</DisableSpecificWarnings>
-      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS  %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNING;%(AdditionalOptions)</AdditionalOptions>
       <ProgramDataBaseFileName>$(OutDir)lib\$(PlatformTarget)\$(TargetName).pdb</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
@@ -237,10 +239,10 @@ copy ..\include\opendht.h $(OutDir)\include\</Command>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\restbed\source</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(ProjectDir)..\include;$(ProjectDir)..\include\opendht;$(ProjectDir)..\..\..\msvc\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\argon2\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\jsoncpp\include;$(ProjectDir)..\..\openssl\inc32;$(ProjectDir)..\..\asio\asio\include;$(ProjectDir)..\..\restinio\dev;$(ProjectDir)..\..\fmt\include;$(ProjectDir)..\..\http_parser</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;ASIO_STANDALONE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;4273;</DisableSpecificWarnings>
-      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS  %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNING;%(AdditionalOptions)</AdditionalOptions>
       <ProgramDataBaseFileName>$(OutDir)lib\$(PlatformTarget)\$(TargetName).pdb</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
diff --git a/MSVC/opendht.vcxproj.filters b/MSVC/opendht.vcxproj.filters
index 669506257ab60a281e5d37ed6451d986ce58a372..f3e70686136f6e4828b2ffe5bad699a6dd0c4957 100644
--- a/MSVC/opendht.vcxproj.filters
+++ b/MSVC/opendht.vcxproj.filters
@@ -71,23 +71,11 @@
     <ClCompile Include="..\src\thread_pool.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\http.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\src\base64.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\listener.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\request.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\search.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\src\storage.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\include\opendht.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -171,6 +159,24 @@
     <ClInclude Include="..\src\thread_pool.h">
       <Filter>Header Files\opendht</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\listener.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\base64.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\search.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\request.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\storage.h">
+      <Filter>Source Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\include\opendht\http.h">
+      <Filter>Header Files\opendht</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Filter Include="Source Files">
diff --git a/MSVC/opendht_deps.sln b/MSVC/opendht_deps.sln
deleted file mode 100644
index 29e44f76982d3b1d3b4a0463ef48497b91d00366..0000000000000000000000000000000000000000
--- a/MSVC/opendht_deps.sln
+++ /dev/null
@@ -1,229 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opendht", "opendht.vcxproj", "{711397CE-E5D5-467D-9457-8716C047E50C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518} = {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}
-		{122A2EA4-B283-4241-9655-786DE78283B2} = {122A2EA4-B283-4241-9655-786DE78283B2}
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2} = {B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}
-		{6F610EE8-7F59-4191-AB88-F63843267C02} = {6F610EE8-7F59-4191-AB88-F63843267C02}
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{71A1A9EC-1104-4335-A87E-AF8749FD5B34}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgmp", "contrib\build\gmp\SMP\libgmp.vcxproj", "{02B94302-23D6-43EF-8865-95CDE99D5DC2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgnutls", "contrib\build\gnutls\SMP\libgnutls.vcxproj", "{6F610EE8-7F59-4191-AB88-F63843267C02}"
-	ProjectSection(ProjectDependencies) = postProject
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2} = {02B94302-23D6-43EF-8865-95CDE99D5DC2}
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518} = {070FEF2B-0C3F-4F33-9D3C-53C7330BF518}
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32} = {CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C} = {200F3D3C-8B84-46D8-953A-6C0EBD283B5C}
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B} = {CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiconv", "contrib\build\libiconv\SMP\libiconv.vcxproj", "{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhogweed", "contrib\build\nettle\SMP\libhogweed.vcxproj", "{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2} = {02B94302-23D6-43EF-8865-95CDE99D5DC2}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnettle", "contrib\build\nettle\SMP\libnettle.vcxproj", "{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzlib", "contrib\build\zlib\SMP\libzlib.vcxproj", "{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessagePack", "contrib\build\msgpack-c\msgpack_vc8.vcxproj", "{122A2EA4-B283-4241-9655-786DE78283B2}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{296E2989-CF09-43AC-BBD2-BCF1A4B56D07}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dhtnode", "dhtnode.vcxproj", "{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}"
-	ProjectSection(ProjectDependencies) = postProject
-		{711397CE-E5D5-467D-9457-8716C047E50C} = {711397CE-E5D5-467D-9457-8716C047E50C}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dhtscanner", "dhtscanner.vcxproj", "{78443BCD-4689-4007-A246-F8F34B27F561}"
-	ProjectSection(ProjectDependencies) = postProject
-		{711397CE-E5D5-467D-9457-8716C047E50C} = {711397CE-E5D5-467D-9457-8716C047E50C}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dhtchat", "dhtchat.vcxproj", "{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{711397CE-E5D5-467D-9457-8716C047E50C} = {711397CE-E5D5-467D-9457-8716C047E50C}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Argon2Ref", "contrib\build\argon2\vs2015\Argon2Ref\Argon2Ref.vcxproj", "{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-		ReleaseStatic|x64 = ReleaseStatic|x64
-		ReleaseStatic|x86 = ReleaseStatic|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Debug|x64.ActiveCfg = Debug|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Debug|x64.Build.0 = Debug|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Debug|x86.ActiveCfg = Debug|Win32
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Debug|x86.Build.0 = Debug|Win32
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Release|x64.ActiveCfg = Release|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Release|x64.Build.0 = Release|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Release|x86.ActiveCfg = Release|Win32
-		{711397CE-E5D5-467D-9457-8716C047E50C}.Release|x86.Build.0 = Release|Win32
-		{711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x64.ActiveCfg = Release|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x64.Build.0 = Release|x64
-		{711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x86.ActiveCfg = Release|Win32
-		{711397CE-E5D5-467D-9457-8716C047E50C}.ReleaseStatic|x86.Build.0 = Release|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Debug|x64.ActiveCfg = Debug|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Debug|x64.Build.0 = Debug|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Debug|x86.ActiveCfg = Debug|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Debug|x86.Build.0 = Debug|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release|x64.ActiveCfg = Release|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release|x64.Build.0 = Release|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release|x86.ActiveCfg = Release|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.Release|x86.Build.0 = Release|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Debug|x64.ActiveCfg = Debug|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Debug|x64.Build.0 = Debug|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Debug|x86.ActiveCfg = Debug|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Debug|x86.Build.0 = Debug|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Release|x64.ActiveCfg = Release|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Release|x64.Build.0 = Release|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Release|x86.ActiveCfg = Release|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.Release|x86.Build.0 = Release|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{6F610EE8-7F59-4191-AB88-F63843267C02}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Debug|x64.ActiveCfg = Debug|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Debug|x64.Build.0 = Debug|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Debug|x86.ActiveCfg = Debug|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Debug|x86.Build.0 = Debug|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release|x64.ActiveCfg = Release|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release|x64.Build.0 = Release|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release|x86.ActiveCfg = Release|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.Release|x86.Build.0 = Release|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Debug|x64.ActiveCfg = Debug|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Debug|x64.Build.0 = Debug|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Debug|x86.ActiveCfg = Debug|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Debug|x86.Build.0 = Debug|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release|x64.ActiveCfg = Release|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release|x64.Build.0 = Release|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release|x86.ActiveCfg = Release|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.Release|x86.Build.0 = Release|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Debug|x64.ActiveCfg = Debug|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Debug|x64.Build.0 = Debug|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Debug|x86.ActiveCfg = Debug|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Debug|x86.Build.0 = Debug|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release|x64.ActiveCfg = Release|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release|x64.Build.0 = Release|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release|x86.ActiveCfg = Release|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.Release|x86.Build.0 = Release|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Debug|x64.ActiveCfg = Debug|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Debug|x64.Build.0 = Debug|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Debug|x86.ActiveCfg = Debug|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Debug|x86.Build.0 = Debug|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release|x64.ActiveCfg = Release|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release|x64.Build.0 = Release|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release|x86.ActiveCfg = Release|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.Release|x86.Build.0 = Release|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x64.ActiveCfg = ReleaseLTO|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x64.Build.0 = ReleaseLTO|x64
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x86.ActiveCfg = ReleaseLTO|Win32
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32}.ReleaseStatic|x86.Build.0 = ReleaseLTO|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|x64.ActiveCfg = Debug|x64
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|x64.Build.0 = Debug|x64
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|x86.ActiveCfg = Debug|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Debug|x86.Build.0 = Debug|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Release|x64.ActiveCfg = Release|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Release|x86.ActiveCfg = Release|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.Release|x86.Build.0 = Release|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x64.ActiveCfg = Release|x64
-		{122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x64.Build.0 = Release|x64
-		{122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x86.ActiveCfg = Release|Win32
-		{122A2EA4-B283-4241-9655-786DE78283B2}.ReleaseStatic|x86.Build.0 = Release|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Debug|x64.ActiveCfg = Debug|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Debug|x64.Build.0 = Debug|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Debug|x86.ActiveCfg = Debug|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Debug|x86.Build.0 = Debug|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Release|x64.ActiveCfg = Release|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Release|x64.Build.0 = Release|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Release|x86.ActiveCfg = Release|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.Release|x86.Build.0 = Release|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.ReleaseStatic|x64.ActiveCfg = Release|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.ReleaseStatic|x64.Build.0 = Release|x64
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.ReleaseStatic|x86.ActiveCfg = Release|Win32
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5}.ReleaseStatic|x86.Build.0 = Release|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Debug|x64.ActiveCfg = Debug|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Debug|x64.Build.0 = Debug|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Debug|x86.ActiveCfg = Debug|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Debug|x86.Build.0 = Debug|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Release|x64.ActiveCfg = Release|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Release|x64.Build.0 = Release|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Release|x86.ActiveCfg = Release|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.Release|x86.Build.0 = Release|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.ReleaseStatic|x64.ActiveCfg = Release|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.ReleaseStatic|x64.Build.0 = Release|x64
-		{78443BCD-4689-4007-A246-F8F34B27F561}.ReleaseStatic|x86.ActiveCfg = Release|Win32
-		{78443BCD-4689-4007-A246-F8F34B27F561}.ReleaseStatic|x86.Build.0 = Release|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Debug|x64.ActiveCfg = Debug|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Debug|x64.Build.0 = Debug|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Debug|x86.ActiveCfg = Debug|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Debug|x86.Build.0 = Debug|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Release|x64.ActiveCfg = Release|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Release|x64.Build.0 = Release|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Release|x86.ActiveCfg = Release|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.Release|x86.Build.0 = Release|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.ReleaseStatic|x64.ActiveCfg = Release|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.ReleaseStatic|x64.Build.0 = Release|x64
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.ReleaseStatic|x86.ActiveCfg = Release|Win32
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA}.ReleaseStatic|x86.Build.0 = Release|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x64.ActiveCfg = Debug|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x64.Build.0 = Debug|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x86.ActiveCfg = Debug|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Debug|x86.Build.0 = Debug|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x64.ActiveCfg = Release|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x64.Build.0 = Release|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x86.ActiveCfg = Release|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.Release|x86.Build.0 = Release|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x64.ActiveCfg = ReleaseStatic|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x64.Build.0 = ReleaseStatic|x64
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x86.ActiveCfg = ReleaseStatic|Win32
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2}.ReleaseStatic|x86.Build.0 = ReleaseStatic|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{02B94302-23D6-43EF-8865-95CDE99D5DC2} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{6F610EE8-7F59-4191-AB88-F63843267C02} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{CB8BB76F-D3FF-434E-A85E-7FFC0893EC9B} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{200F3D3C-8B84-46D8-953A-6C0EBD283B5C} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{070FEF2B-0C3F-4F33-9D3C-53C7330BF518} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{CA9A4A38-CC63-4BDB-8CFB-E058965DDA32} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{122A2EA4-B283-4241-9655-786DE78283B2} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-		{BF92AECF-AA1D-4B05-9D00-0247E92A24B5} = {296E2989-CF09-43AC-BBD2-BCF1A4B56D07}
-		{78443BCD-4689-4007-A246-F8F34B27F561} = {296E2989-CF09-43AC-BBD2-BCF1A4B56D07}
-		{8BE7F14D-B227-4D54-9105-7E5473F2D0BA} = {296E2989-CF09-43AC-BBD2-BCF1A4B56D07}
-		{B9CAC9CE-9F0D-4F52-8D67-FDBBAFCD0DE2} = {71A1A9EC-1104-4335-A87E-AF8749FD5B34}
-	EndGlobalSection
-EndGlobal
diff --git a/include/opendht/http.h b/include/opendht/http.h
index 199dc6e51f6c4219b65c251a623f2524b62039bc..2812228a38d06f0edaec16a87c94415108f119a2 100644
--- a/include/opendht/http.h
+++ b/include/opendht/http.h
@@ -21,6 +21,13 @@
 #include "def.h"
 #include "infohash.h"
 
+// some libraries may try to redefine snprintf
+// but restinio will use it in std namespace
+#ifdef _MSC_VER
+#   undef snprintf
+#   define snprintf snprintf
+#endif
+
 #include <asio/ssl/context.hpp>
 #include <restinio/http_headers.hpp>
 #include <restinio/message_builders.hpp>