Add Visual Studio solution, OPENSSL_NO_ASM only for now.

Much of the repetitive logic was put into mk/Common.props,
mk/Windows.props, and mk/WindowsTest.props. There is still a lot of
repetitive logic in the test project files that should be moved to
WindowsTest.props in the future. (In fact, it would be better if the
build system were modified in the future to work like CMake does,
(re-)generating the necessary project files during the build.)

Regular (OPENSSL_NO_ASM) mode will come in a later commit.

I've marked the Visual Studio files as eol=crlf in .gitattributes for
now. This should be the least painful option, since it any CRLF
conversion would create problems for for people sharing a source tree
across platforms (e.g. a shared folder in a VM), and because Visual
Studio IDE resets the files back to CR/LF line endings whenever a
change to project or solution settings is made using its GUI. There is
no license comment in these files because Visual Studio strips comments
when changes are made using the GUI.
This commit is contained in:
Brian Smith 2015-07-25 01:24:33 -04:00
parent 6198948e2f
commit e78f56048f
29 changed files with 1092 additions and 16 deletions

7
.gitattributes vendored Normal file
View File

@ -0,0 +1,7 @@
* text=auto !eol
*.sln eol=crlf
*.vcxproj eol=crlf
*.vcxproj.filters eol=crlf
*.props eol=crlf
*.bat eol=crlf
*.rc eol=crlf

12
.gitignore vendored
View File

@ -5,3 +5,15 @@ ssl/test/runner/runner
doc/*.html
doc/doc.css
*~
# Visual Studio Junk
.vs/
*.opensdf
*.psess
*.sdf
*.sln.docstates
*.suo
*.user
*.userosscache
*.vsp
*.vspx

View File

@ -1,35 +1,50 @@
Build Prerequisites:
* Perl 5.6.1 or later is required. On Windows, Strawberry Perl and MSYS Perl
have both been reported to work.
* A C compiler is required:
* Visual Studio 2013 or later on Windows.
* GCC 4.8 or later, or Clang 3.4 or later on Linux.
* Go[1] is currently required for running the tests.
Upstream BoringSSL uses CMake. ring uses GNU Make instead:
* Perl 5.6.1 or later is required for building the assembly language code.
Perl is not required on Windows yet because the assembly language code
isn't built on Windows yet.
* On platforms other than Windows, GNU Make 3.81 or later is required.
Upstream BoringSSL uses CMake. ring uses msbuild on Windows and GNU Make
otherwise.
For Windows, open ring.sln in Visual Studio and choose Build|Build Solution.
Alternatively, from the VS2013 Native Tools Command Prompt:
msbuild ring.sln
The built libring.lib will be put into a subdirectory of build/, depending on
which configuration and which platform you choose to build for.
On other platforms:
make -j6 CC=clang-3.7 CXX=clang-3.7++ ARCH=x86
The default build is a debug build. You can build a release build with:
The default build is a debug build (CMAKE_BUILD_TYPE=DEBUG). You can build a
release build with:
make -j6 CC=clang-3.7 CXX=clang-3.7++ ARCH=x86 \
CMAKE_BUILD_TYPE=RELWITHDEBINFO
TODO: mention how to build x64, mention that these instructions were tested
on x64 Ubuntu 14.04 and patches are appreicated for other systems. TODO:
teston 32-bit Ubuntu and 32/64- fedora.
There is no "./configure" step yet, though there probably should be one.
GCC 4.8, 4.9, and 5 all work, as do clang 3.4, 3.5, 3.6, and 3.7.
Upstream BoringSSL supports building shared libraries. ring (currently) does
not build *any* libraries. Instead, it expects you to link the object files
named in $(RING_OBJS) directly into your project. Of course, you can create a
static library if you want.
The x86 ("Win32" on Windows) and x86_64 architectures are supported. (ARM and
MIPS support will come later.)
Currently Windows isn't supported. Later there will be a Visual Studio solution
that can be built using msbuild or the IDE.
There is no "./configure" step yet, though there probably should be one so that
you don't have to pass CC, CXX, and ARCH on the command line every time.
Upstream BoringSSL supports building shared libraries. ring currently does not
build *any* libraries on non-Windows platforms. Instead, it expects you to link
the object files named in $(RING_OBJS) directly into your project. Of course,
you can create a static library if you want. (TODO: just provide a target for a
static library, as it is easy to do.)
[1] https://golang.org/dl/

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}</ProjectGuid>
<TargetName>aes_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\aes\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="aes_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{06C8B12A-97C3-4326-B0AB-8C8004E94A76}</ProjectGuid>
<TargetName>bn_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\bn\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="bn_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}</ProjectGuid>
<TargetName>bytestring_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\bytestring\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="bytestring_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{95B509DD-F16C-49EE-B962-3B28FAC30CF7}</ProjectGuid>
<TargetName>aead_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\cipher\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="aead_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{E9BBE9B6-8361-4007-B523-E59FDB775D01}</ProjectGuid>
<TargetName>cipher_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\cipher\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="cipher_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}</ProjectGuid>
<TargetName>cmac_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\cmac\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="cmac_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}</ProjectGuid>
<TargetName>constant_time_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="constant_time_test.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{DEB047E0-9259-4708-B64D-8787CDD99799}</ProjectGuid>
<TargetName>dh_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\dh\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="dh_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}</ProjectGuid>
<TargetName>digest_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\digest\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="digest_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}</ProjectGuid>
<TargetName>example_mul</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\ec\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="example_mul.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}</ProjectGuid>
<TargetName>ecdsa_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\ecdsa\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="ecdsa_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{C4DE9A69-978C-4156-8F62-BFB81A22D758}</ProjectGuid>
<TargetName>err_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\err\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="err_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{4B49658E-0CC3-45E8-B453-8C93D5475974}</ProjectGuid>
<TargetName>pbkdf_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\evp\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="pbkdf_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}</ProjectGuid>
<TargetName>hkdf_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\hkdf\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="hkdf_test.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{89985F80-7EA4-4205-A46D-AA32419E5BC2}</ProjectGuid>
<TargetName>hmac_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\hmac\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="hmac_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}</ProjectGuid>
<ProjectName>libring.Windows</ProjectName>
<TargetName>libring</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\lib\</OutDir>
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\mk\Windows.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="aes\aes.c" />
<ClCompile Include="aes\mode_wrappers.c" />
<ClCompile Include="bn\add.c" />
<ClCompile Include="bn\asm\x86_64-gcc.c" />
<ClCompile Include="bn\bn.c" />
<ClCompile Include="bn\bn_asn1.c" />
<ClCompile Include="bn\cmp.c" />
<ClCompile Include="bn\convert.c" />
<ClCompile Include="bn\ctx.c" />
<ClCompile Include="bn\div.c" />
<ClCompile Include="bn\exponentiation.c" />
<ClCompile Include="bn\gcd.c" />
<ClCompile Include="bn\generic.c" />
<ClCompile Include="bn\kronecker.c" />
<ClCompile Include="bn\montgomery.c" />
<ClCompile Include="bn\mul.c" />
<ClCompile Include="bn\prime.c" />
<ClCompile Include="bn\random.c" />
<ClCompile Include="bn\rsaz_exp.c" />
<ClCompile Include="bn\shift.c" />
<ClCompile Include="bn\sqrt.c" />
<ClCompile Include="buf\buf.c" />
<ClCompile Include="bytestring\ber.c" />
<ClCompile Include="bytestring\cbb.c" />
<ClCompile Include="bytestring\cbs.c" />
<ClCompile Include="chacha\chacha_generic.c" />
<ClCompile Include="chacha\chacha_vec.c" />
<ClCompile Include="cipher\aead.c" />
<ClCompile Include="cipher\cipher.c" />
<ClCompile Include="cipher\e_aes.c" />
<ClCompile Include="cipher\e_chacha20poly1305.c" />
<ClCompile Include="cipher\e_des.c" />
<ClCompile Include="cipher\e_null.c" />
<ClCompile Include="cipher\e_rc4.c" />
<ClCompile Include="cipher\e_ssl3.c" />
<ClCompile Include="cipher\e_tls.c" />
<ClCompile Include="cipher\tls_cbc.c" />
<ClCompile Include="cmac\cmac.c" />
<ClCompile Include="cpu-arm.c" />
<ClCompile Include="cpu-intel.c" />
<ClCompile Include="crypto.c" />
<ClCompile Include="des\des.c" />
<ClCompile Include="dh\check.c" />
<ClCompile Include="dh\dh.c" />
<ClCompile Include="dh\dh_impl.c" />
<ClCompile Include="dh\params.c" />
<ClCompile Include="digest\digest.c" />
<ClCompile Include="digest\digests.c" />
<ClCompile Include="ec\ec.c" />
<ClCompile Include="ec\ec_key.c" />
<ClCompile Include="ec\ec_montgomery.c" />
<ClCompile Include="ec\oct.c" />
<ClCompile Include="ec\p256-64.c" />
<ClCompile Include="ec\simple.c" />
<ClCompile Include="ec\util-64.c" />
<ClCompile Include="ec\wnaf.c" />
<ClCompile Include="ecdh\ecdh.c" />
<ClCompile Include="ecdsa\ecdsa.c" />
<ClCompile Include="ecdsa\ecdsa_asn1.c" />
<ClCompile Include="err\err.c" />
<ClCompile Include="evp\digestsign.c" />
<ClCompile Include="evp\evp.c" />
<ClCompile Include="evp\evp_ctx.c" />
<ClCompile Include="evp\pbkdf.c" />
<ClCompile Include="evp\p_ec.c" />
<ClCompile Include="evp\p_rsa.c" />
<ClCompile Include="evp\sign.c" />
<ClCompile Include="hkdf\hkdf.c" />
<ClCompile Include="hmac\hmac.c" />
<ClCompile Include="md4\md4.c" />
<ClCompile Include="md5\md5.c" />
<ClCompile Include="mem.c" />
<ClCompile Include="modes\cbc.c" />
<ClCompile Include="modes\ctr.c" />
<ClCompile Include="modes\gcm.c" />
<ClCompile Include="poly1305\poly1305.c" />
<ClCompile Include="poly1305\poly1305_arm.c" />
<ClCompile Include="poly1305\poly1305_vec.c" />
<ClCompile Include="rand\hwrand.c" />
<ClCompile Include="rand\rand.c" />
<ClCompile Include="rand\windows.c" />
<ClCompile Include="rc4\rc4.c" />
<ClCompile Include="refcount_c11.c" />
<ClCompile Include="refcount_lock.c" />
<ClCompile Include="rsa\blinding.c" />
<ClCompile Include="rsa\padding.c" />
<ClCompile Include="rsa\rsa.c" />
<ClCompile Include="rsa\rsa_asn1.c" />
<ClCompile Include="rsa\rsa_impl.c" />
<ClCompile Include="sha\sha1.c" />
<ClCompile Include="sha\sha256.c" />
<ClCompile Include="sha\sha512.c" />
<ClCompile Include="thread.c" />
<ClCompile Include="thread_win.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="aes\internal.h" />
<ClInclude Include="bn\internal.h" />
<ClInclude Include="bn\rsaz_exp.h" />
<ClInclude Include="bytestring\internal.h" />
<ClInclude Include="cipher\cipher.h" />
<ClInclude Include="cipher\internal.h" />
<ClInclude Include="des\internal.h" />
<ClInclude Include="dh\internal.h" />
<ClInclude Include="digest\internal.h" />
<ClInclude Include="digest\md32_common.h" />
<ClInclude Include="ec\internal.h" />
<ClInclude Include="evp\internal.h" />
<ClInclude Include="modes\internal.h" />
<ClInclude Include="rand\internal.h" />
<ClInclude Include="rsa\internal.h" />
</ItemGroup>
<ItemGroup>
<None Include="err\bn.errordata" />
<None Include="err\cipher.errordata" />
<None Include="err\dh.errordata" />
<None Include="err\digest.errordata" />
<None Include="err\ec.errordata" />
<None Include="err\ecdh.errordata" />
<None Include="err\ecdsa.errordata" />
<None Include="err\evp.errordata" />
<None Include="err\hkdf.errordata" />
<None Include="err\rsa.errordata" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>OPENSSL_NO_ASM;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}</ProjectGuid>
<TargetName>gcm_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\modes\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="gcm_test.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}</ProjectGuid>
<TargetName>poly1305_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\poly1305\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="poly1305_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{5C80997F-DB68-4996-BF6D-2B0EAF69D035}</ProjectGuid>
<TargetName>refcount_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="refcount_test.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}</ProjectGuid>
<TargetName>rsa_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\rsa\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="rsa_test.cc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="..\test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{1DACE503-6498-492D-B1FF-F9EE18624443}</ProjectGuid>
<ProjectName>libring.test.Windows</ProjectName>
<TargetName>libring-test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\mk\Windows.props" />
</ImportGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\obj\$(Platform)-$(Configuration)\</OutDir>
</PropertyGroup>
<ItemGroup>
<ClCompile Include="file_test.cc" />
<ClCompile Include="malloc.cc" />
<ClCompile Include="test_util.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="file_test.h" />
<ClInclude Include="scoped_types.h" />
<ClInclude Include="stl_compat.h" />
<ClInclude Include="test_util.h" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>OPENSSL_NO_ASM;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}</ProjectGuid>
<TargetName>thread_test</TargetName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<OutDir>$(SolutionDir)build\$(Platform)-$(Configuration)\test\ring\crypto\</OutDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\mk\WindowsTest.props" />
</ImportGroup>
<ItemGroup>
<ClCompile Include="thread_test.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="libring.Windows.vcxproj">
<Project>{f4c0a1b6-5e09-41c8-8242-3e1f6762fb18}</Project>
</ProjectReference>
<ProjectReference Include="test\test.Windows.vcxproj">
<Project>{1dace503-6498-492d-b1ff-f9ee18624443}</Project>
</ProjectReference>
</ItemGroup>
</Project>

64
mk/Common.props Normal file
View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Common</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<IntDir>$(SolutionDir)build\obj\$(Platform)-$(Configuration)\$(TargetName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<LinkIncremental>true</LinkIncremental>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<LinkIncremental>false</LinkIncremental>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4100;4127;4200;4242;4244;4245;4267;4296;4324;4350;4365;4389;4510;4512;4514;4610;4706;4710;4711;4820;4996</DisableSpecificWarnings>
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<MinimalRebuild>false</MinimalRebuild>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<SDLCheck>true</SDLCheck>
<TreatWarningAsError>true</TreatWarningAsError>
<WarningLevel>EnableAllWarnings</WarningLevel>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<OptimizeReferences>false</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<Optimization>Full</Optimization>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
</Project>

36
mk/Windows.props Normal file
View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.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">
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="Common.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
</Project>

19
mk/WindowsTest.props Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="Windows.props" />
</ImportGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>libring.lib;libring-test.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)build\$(Platform)-$(Configuration)\lib;$(SolutionDir)build\obj\$(Platform)-$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

261
ring.sln Normal file
View File

@ -0,0 +1,261 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libring.Windows", "crypto\libring.Windows.vcxproj", "{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{73F15439-77AE-4EA2-8CB7-D82876016316}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dh_test.Windows", "crypto\dh\dh_test.Windows.vcxproj", "{DEB047E0-9259-4708-B64D-8787CDD99799}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aes_test.Windows", "crypto\aes\aes_test.Windows.vcxproj", "{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aead_test.Windows", "crypto\cipher\aead_test.Windows.vcxproj", "{95B509DD-F16C-49EE-B962-3B28FAC30CF7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bn_test.Windows", "crypto\bn\bn_test.Windows.vcxproj", "{06C8B12A-97C3-4326-B0AB-8C8004E94A76}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bytestring_test.Windows", "crypto\bytestring\bytestring_test.Windows.vcxproj", "{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cipher_test.Windows", "crypto\cipher\cipher_test.Windows.vcxproj", "{E9BBE9B6-8361-4007-B523-E59FDB775D01}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmac_test.Windows", "crypto\cmac\cmac_test.Windows.vcxproj", "{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "digest_test.Windows", "crypto\digest\digest_test.Windows.vcxproj", "{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ecdsa_test.Windows", "crypto\ecdsa\ecdsa_test.Windows.vcxproj", "{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "err_test.Windows", "crypto\err\err_test.Windows.vcxproj", "{C4DE9A69-978C-4156-8F62-BFB81A22D758}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pbkdf_test.Windows", "crypto\evp\pbkdf_test.Windows.vcxproj", "{4B49658E-0CC3-45E8-B453-8C93D5475974}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hkdf_test.Windows", "crypto\hkdf\hkdf_test.Windows.vcxproj", "{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hmac_test.Windows", "crypto\hmac\hmac_test.Windows.vcxproj", "{89985F80-7EA4-4205-A46D-AA32419E5BC2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gcm_test.Windows", "crypto\modes\gcm_test.Windows.vcxproj", "{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "poly1305_test.Windows", "crypto\poly1305\poly1305_test.Windows.vcxproj", "{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libring.test.Windows", "crypto\test\test.Windows.vcxproj", "{1DACE503-6498-492D-B1FF-F9EE18624443}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "constant_time_test.Windows", "crypto\constant_time_test.Windows.vcxproj", "{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread_test.Windows", "crypto\thread_test.Windows.vcxproj", "{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "refcount_test.Windows", "crypto\refcount_test.Windows.vcxproj", "{5C80997F-DB68-4996-BF6D-2B0EAF69D035}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rsa_test.Windows", "crypto\rsa\rsa_test.Windows.vcxproj", "{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example_mul.Windows", "crypto\ec\example_mul.Windows.vcxproj", "{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Debug|Win32.ActiveCfg = Debug|Win32
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Debug|Win32.Build.0 = Debug|Win32
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Debug|x64.ActiveCfg = Debug|x64
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Debug|x64.Build.0 = Debug|x64
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Release|Win32.ActiveCfg = Release|Win32
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Release|Win32.Build.0 = Release|Win32
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Release|x64.ActiveCfg = Release|x64
{F4C0A1B6-5E09-41C8-8242-3E1F6762FB18}.Release|x64.Build.0 = Release|x64
{DEB047E0-9259-4708-B64D-8787CDD99799}.Debug|Win32.ActiveCfg = Debug|Win32
{DEB047E0-9259-4708-B64D-8787CDD99799}.Debug|Win32.Build.0 = Debug|Win32
{DEB047E0-9259-4708-B64D-8787CDD99799}.Debug|x64.ActiveCfg = Debug|Win32
{DEB047E0-9259-4708-B64D-8787CDD99799}.Release|Win32.ActiveCfg = Release|Win32
{DEB047E0-9259-4708-B64D-8787CDD99799}.Release|Win32.Build.0 = Release|Win32
{DEB047E0-9259-4708-B64D-8787CDD99799}.Release|x64.ActiveCfg = Release|Win32
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Debug|Win32.ActiveCfg = Debug|Win32
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Debug|Win32.Build.0 = Debug|Win32
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Debug|x64.ActiveCfg = Debug|x64
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Debug|x64.Build.0 = Debug|x64
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Release|Win32.ActiveCfg = Release|Win32
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Release|Win32.Build.0 = Release|Win32
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Release|x64.ActiveCfg = Release|x64
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7}.Release|x64.Build.0 = Release|x64
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Debug|Win32.ActiveCfg = Debug|Win32
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Debug|Win32.Build.0 = Debug|Win32
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Debug|x64.ActiveCfg = Debug|x64
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Debug|x64.Build.0 = Debug|x64
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Release|Win32.ActiveCfg = Release|Win32
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Release|Win32.Build.0 = Release|Win32
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Release|x64.ActiveCfg = Release|x64
{95B509DD-F16C-49EE-B962-3B28FAC30CF7}.Release|x64.Build.0 = Release|x64
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Debug|Win32.ActiveCfg = Debug|Win32
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Debug|Win32.Build.0 = Debug|Win32
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Debug|x64.ActiveCfg = Debug|x64
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Debug|x64.Build.0 = Debug|x64
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Release|Win32.ActiveCfg = Release|Win32
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Release|Win32.Build.0 = Release|Win32
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Release|x64.ActiveCfg = Release|x64
{06C8B12A-97C3-4326-B0AB-8C8004E94A76}.Release|x64.Build.0 = Release|x64
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Debug|Win32.ActiveCfg = Debug|Win32
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Debug|Win32.Build.0 = Debug|Win32
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Debug|x64.ActiveCfg = Debug|x64
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Debug|x64.Build.0 = Debug|x64
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Release|Win32.ActiveCfg = Release|Win32
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Release|Win32.Build.0 = Release|Win32
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Release|x64.ActiveCfg = Release|x64
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787}.Release|x64.Build.0 = Release|x64
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Debug|Win32.ActiveCfg = Debug|Win32
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Debug|Win32.Build.0 = Debug|Win32
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Debug|x64.ActiveCfg = Debug|x64
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Debug|x64.Build.0 = Debug|x64
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Release|Win32.ActiveCfg = Release|Win32
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Release|Win32.Build.0 = Release|Win32
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Release|x64.ActiveCfg = Release|x64
{E9BBE9B6-8361-4007-B523-E59FDB775D01}.Release|x64.Build.0 = Release|x64
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Debug|Win32.ActiveCfg = Debug|Win32
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Debug|Win32.Build.0 = Debug|Win32
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Debug|x64.ActiveCfg = Debug|x64
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Debug|x64.Build.0 = Debug|x64
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Release|Win32.ActiveCfg = Release|Win32
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Release|Win32.Build.0 = Release|Win32
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Release|x64.ActiveCfg = Release|x64
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6}.Release|x64.Build.0 = Release|x64
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Debug|Win32.ActiveCfg = Debug|Win32
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Debug|Win32.Build.0 = Debug|Win32
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Debug|x64.ActiveCfg = Debug|x64
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Debug|x64.Build.0 = Debug|x64
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Release|Win32.ActiveCfg = Release|Win32
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Release|Win32.Build.0 = Release|Win32
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Release|x64.ActiveCfg = Release|x64
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E}.Release|x64.Build.0 = Release|x64
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Debug|Win32.ActiveCfg = Debug|Win32
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Debug|Win32.Build.0 = Debug|Win32
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Debug|x64.ActiveCfg = Debug|x64
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Debug|x64.Build.0 = Debug|x64
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Release|Win32.ActiveCfg = Release|Win32
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Release|Win32.Build.0 = Release|Win32
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Release|x64.ActiveCfg = Release|x64
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20}.Release|x64.Build.0 = Release|x64
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Debug|Win32.ActiveCfg = Debug|Win32
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Debug|Win32.Build.0 = Debug|Win32
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Debug|x64.ActiveCfg = Debug|x64
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Debug|x64.Build.0 = Debug|x64
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Release|Win32.ActiveCfg = Release|Win32
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Release|Win32.Build.0 = Release|Win32
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Release|x64.ActiveCfg = Release|x64
{C4DE9A69-978C-4156-8F62-BFB81A22D758}.Release|x64.Build.0 = Release|x64
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Debug|Win32.ActiveCfg = Debug|Win32
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Debug|Win32.Build.0 = Debug|Win32
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Debug|x64.ActiveCfg = Debug|x64
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Debug|x64.Build.0 = Debug|x64
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Release|Win32.ActiveCfg = Release|Win32
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Release|Win32.Build.0 = Release|Win32
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Release|x64.ActiveCfg = Release|x64
{4B49658E-0CC3-45E8-B453-8C93D5475974}.Release|x64.Build.0 = Release|x64
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Debug|Win32.ActiveCfg = Debug|Win32
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Debug|Win32.Build.0 = Debug|Win32
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Debug|x64.ActiveCfg = Debug|x64
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Debug|x64.Build.0 = Debug|x64
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Release|Win32.ActiveCfg = Release|Win32
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Release|Win32.Build.0 = Release|Win32
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Release|x64.ActiveCfg = Release|x64
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5}.Release|x64.Build.0 = Release|x64
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Debug|Win32.ActiveCfg = Debug|Win32
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Debug|Win32.Build.0 = Debug|Win32
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Debug|x64.ActiveCfg = Debug|x64
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Debug|x64.Build.0 = Debug|x64
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Release|Win32.ActiveCfg = Release|Win32
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Release|Win32.Build.0 = Release|Win32
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Release|x64.ActiveCfg = Release|x64
{89985F80-7EA4-4205-A46D-AA32419E5BC2}.Release|x64.Build.0 = Release|x64
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Debug|Win32.ActiveCfg = Debug|Win32
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Debug|Win32.Build.0 = Debug|Win32
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Debug|x64.ActiveCfg = Debug|x64
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Debug|x64.Build.0 = Debug|x64
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Release|Win32.ActiveCfg = Release|Win32
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Release|Win32.Build.0 = Release|Win32
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Release|x64.ActiveCfg = Release|x64
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74}.Release|x64.Build.0 = Release|x64
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Debug|Win32.ActiveCfg = Debug|Win32
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Debug|Win32.Build.0 = Debug|Win32
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Debug|x64.ActiveCfg = Debug|x64
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Debug|x64.Build.0 = Debug|x64
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Release|Win32.ActiveCfg = Release|Win32
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Release|Win32.Build.0 = Release|Win32
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Release|x64.ActiveCfg = Release|x64
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6}.Release|x64.Build.0 = Release|x64
{1DACE503-6498-492D-B1FF-F9EE18624443}.Debug|Win32.ActiveCfg = Debug|Win32
{1DACE503-6498-492D-B1FF-F9EE18624443}.Debug|Win32.Build.0 = Debug|Win32
{1DACE503-6498-492D-B1FF-F9EE18624443}.Debug|x64.ActiveCfg = Debug|x64
{1DACE503-6498-492D-B1FF-F9EE18624443}.Debug|x64.Build.0 = Debug|x64
{1DACE503-6498-492D-B1FF-F9EE18624443}.Release|Win32.ActiveCfg = Release|Win32
{1DACE503-6498-492D-B1FF-F9EE18624443}.Release|Win32.Build.0 = Release|Win32
{1DACE503-6498-492D-B1FF-F9EE18624443}.Release|x64.ActiveCfg = Release|x64
{1DACE503-6498-492D-B1FF-F9EE18624443}.Release|x64.Build.0 = Release|x64
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Debug|Win32.ActiveCfg = Debug|Win32
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Debug|Win32.Build.0 = Debug|Win32
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Debug|x64.ActiveCfg = Debug|x64
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Debug|x64.Build.0 = Debug|x64
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Release|Win32.ActiveCfg = Release|Win32
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Release|Win32.Build.0 = Release|Win32
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Release|x64.ActiveCfg = Release|x64
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0}.Release|x64.Build.0 = Release|x64
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Debug|Win32.ActiveCfg = Debug|Win32
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Debug|Win32.Build.0 = Debug|Win32
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Debug|x64.ActiveCfg = Debug|x64
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Debug|x64.Build.0 = Debug|x64
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Release|Win32.ActiveCfg = Release|Win32
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Release|Win32.Build.0 = Release|Win32
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Release|x64.ActiveCfg = Release|x64
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19}.Release|x64.Build.0 = Release|x64
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Debug|Win32.ActiveCfg = Debug|Win32
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Debug|Win32.Build.0 = Debug|Win32
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Debug|x64.ActiveCfg = Debug|x64
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Debug|x64.Build.0 = Debug|x64
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Release|Win32.ActiveCfg = Release|Win32
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Release|Win32.Build.0 = Release|Win32
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Release|x64.ActiveCfg = Release|x64
{5C80997F-DB68-4996-BF6D-2B0EAF69D035}.Release|x64.Build.0 = Release|x64
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Debug|Win32.ActiveCfg = Debug|Win32
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Debug|Win32.Build.0 = Debug|Win32
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Debug|x64.ActiveCfg = Debug|x64
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Debug|x64.Build.0 = Debug|x64
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Release|Win32.ActiveCfg = Release|Win32
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Release|Win32.Build.0 = Release|Win32
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Release|x64.ActiveCfg = Release|x64
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D}.Release|x64.Build.0 = Release|x64
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Debug|Win32.ActiveCfg = Debug|Win32
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Debug|Win32.Build.0 = Debug|Win32
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Debug|x64.ActiveCfg = Debug|x64
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Debug|x64.Build.0 = Debug|x64
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Release|Win32.ActiveCfg = Release|Win32
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Release|Win32.Build.0 = Release|Win32
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Release|x64.ActiveCfg = Release|x64
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{DEB047E0-9259-4708-B64D-8787CDD99799} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{1C3071CC-26DA-4790-B48A-3936DDD0E7E7} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{95B509DD-F16C-49EE-B962-3B28FAC30CF7} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{06C8B12A-97C3-4326-B0AB-8C8004E94A76} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{8B0DEF57-6FC5-404F-A1D0-A8FC0FCAD787} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{E9BBE9B6-8361-4007-B523-E59FDB775D01} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{A6E8C593-5CF7-4BB2-B8CE-54A8ECA06CF6} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{954615BD-27CB-4AA3-AEE0-D25CD5460B0E} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{8ECBC55D-D42D-40AA-9ACF-EDE67739EE20} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{C4DE9A69-978C-4156-8F62-BFB81A22D758} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{4B49658E-0CC3-45E8-B453-8C93D5475974} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{CF492FD2-AEA4-4AEE-962D-7B89887E06E5} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{89985F80-7EA4-4205-A46D-AA32419E5BC2} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{A8616FF5-8273-4C80-8BF0-1785D8E1DF74} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{CD0F021B-E347-4CCA-B5B7-CD1F757E15D6} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{1DACE503-6498-492D-B1FF-F9EE18624443} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{C8E7CDAF-3953-48E8-95F2-97DAC472E2E0} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{52C6E909-4E56-4329-8B99-E1B5C2E1FB19} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{5C80997F-DB68-4996-BF6D-2B0EAF69D035} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{F28F10A9-540F-4FC9-AD81-79E79F3FC73D} = {73F15439-77AE-4EA2-8CB7-D82876016316}
{6216DD4F-2055-4D4E-9672-AF9154AC7B7B} = {73F15439-77AE-4EA2-8CB7-D82876016316}
EndGlobalSection
EndGlobal