Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uimacpp", "uimacpp.vcproj", "{70B51CFD-850A-44D1-BF14-A44A1CB27550}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{023122EC-3490-49E1-ABE6-B7D755E757B0}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463} = {9F230EC0-DB18-46AC-BB02-DC1E6974A463}
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A} = {BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runaecpp", "runaecpp.vcproj", "{9F230EC0-DB18-46AC-BB02-DC1E6974A463}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
	EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deployCppService", "deployCppService.vcproj", "{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}"
	ProjectSection(ProjectDependencies) = postProject
		{70B51CFD-850A-44D1-BF14-A44A1CB27550} = {70B51CFD-850A-44D1-BF14-A44A1CB27550}
	EndProjectSection
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Debug|Win32.ActiveCfg = Debug|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Debug|Win32.Build.0 = Debug|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Release|Win32.ActiveCfg = Release|Win32
		{70B51CFD-850A-44D1-BF14-A44A1CB27550}.Release|Win32.Build.0 = Release|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Debug|Win32.ActiveCfg = Debug|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Debug|Win32.Build.0 = Debug|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Release|Win32.ActiveCfg = Release|Win32
		{023122EC-3490-49E1-ABE6-B7D755E757B0}.Release|Win32.Build.0 = Release|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Debug|Win32.ActiveCfg = Debug|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Debug|Win32.Build.0 = Debug|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Release|Win32.ActiveCfg = Release|Win32
		{9F230EC0-DB18-46AC-BB02-DC1E6974A463}.Release|Win32.Build.0 = Release|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Debug|Win32.ActiveCfg = Debug|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Debug|Win32.Build.0 = Debug|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Release|Win32.ActiveCfg = Release|Win32
		{BB5DD1BE-CCC4-42DD-A8C7-A607D1970A5A}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
