// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; };
		952C886D5D1BD9FD00000000 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C5D1BD9FD00000000 /* XCTest.m */; };
		952C886D5D1BD9FD00000001 /* XCTest.m in Two */ = {isa = PBXBuildFile; fileRef = 25889F7C5D1BD9FD00000000 /* XCTest.m */; };
		952C886D96D67B6F00000000 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C96D67B6F00000000 /* XCTest.m */; };
		952C886D96D67B6F00000001 /* XCTest.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C96D67B6F00000000 /* XCTest.m */; };
		952C886D9F3B3D3900000000 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C9F3B3D3900000000 /* LogicTest.m */; };
		952C886D9F3B3D3900000001 /* LogicTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7C9F3B3D3900000000 /* LogicTest.m */; };
		952C886DA25B0A0200000000 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CA25B0A0200000000 /* XCTest.m */; };
		952C886DA25B0A0200000001 /* XCTest.m in One */ = {isa = PBXBuildFile; fileRef = 25889F7CA25B0A0200000000 /* XCTest.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		30E8372A1FDDBD5D00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9034464BE473872800000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 7E9AFE621FDDBD5C00000000;
		};
		30E8372A9734745D00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9034464BE473872800000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 01F2CBCF9734745C00000000;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Three-XCTest.xctest"; path = "TestSuite-Three-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-One-XCTest.xctest"; path = "TestSuite-One-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C2E28BE8E00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Two/BUILD; sourceTree = "<group>"; };
		25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
		25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
		25889F7C5801CD8000000000 /* LogicTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = LogicTest.xctest; path = LogicTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C5D1BD9FD00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Two/XCTest.m"; sourceTree = "<group>"; };
		25889F7C5F8D5C0800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/One/BUILD; sourceTree = "<group>"; };
		25889F7C96D67B6F00000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/Three/XCTest.m"; sourceTree = "<group>"; };
		25889F7C9B804E0000000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
		25889F7C9F3B3D3900000000 /* LogicTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = LogicTest.m; path = "tulsi-workspace/TestSuite/One/LogicTest.m"; sourceTree = "<group>"; };
		25889F7CA25B0A0200000000 /* XCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = XCTest.m; path = "tulsi-workspace/TestSuite/One/XCTest.m"; sourceTree = "<group>"; };
		25889F7CA46B3F1D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
		25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CCD38665F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Two/XCTest-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = "TestSuite-Two-XCTest.xctest"; path = "TestSuite-Two-XCTest.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CD4C5117300000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/One/LogicTest-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CF757D27400000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a; path = lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		45D0562906FE71CF00000000 /* TestSuite */ = {
			isa = PBXGroup;
			children = (
				45D05629D43882ED00000000 /* One */,
				45D05629143ABA8700000000 /* TestApplication-intermediates */,
				45D0562978986CA000000000 /* Three */,
				45D056290913F81B00000000 /* Two */,
			);
			name = TestSuite;
			sourceTree = "<group>";
		};
		45D0562906FE71CF00000001 /* TestSuite */ = {
			isa = PBXGroup;
			children = (
				45D0562933ECA2A800000000 /* Application */,
				25889F7C35687C6800000000 /* BUILD */,
				25889F7C9BDE3CEF00000000 /* Info.plist */,
				45D05629D43882ED00000001 /* One */,
				45D0562978986CA000000001 /* Three */,
				45D056290913F81B00000001 /* Two */,
			);
			name = TestSuite;
			sourceTree = "<group>";
		};
		45D056290913F81B00000000 /* Two */ = {
			isa = PBXGroup;
			children = (
				45D0562979F3F88D00000002 /* XCTest-intermediates */,
			);
			name = Two;
			sourceTree = "<group>";
		};
		45D056290913F81B00000001 /* Two */ = {
			isa = PBXGroup;
			children = (
				25889F7C2E28BE8E00000000 /* BUILD */,
				25889F7C5D1BD9FD00000000 /* XCTest.m */,
			);
			name = Two;
			sourceTree = "<group>";
		};
		45D05629143ABA8700000000 /* TestApplication-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CDF260A6500000000 /* Info.plist */,
			);
			name = "TestApplication-intermediates";
			sourceTree = "<group>";
		};
		45D056291BF813BD00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				45D05629C0087DBE00000000 /* Indexer */,
				25889F7C5801CD8000000000 /* LogicTest.xctest */,
				25889F7CB8B54B6E00000000 /* TestApplication.app */,
				25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */,
				25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */,
				25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */,
				45D05629A259EF0200000000 /* bazel-tulsi-includes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		45D0562933ECA2A800000000 /* Application */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000000 /* srcs */,
			);
			name = Application;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000000 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000001 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562906FE71CF00000000 /* TestSuite */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562978986CA000000000 /* Three */ = {
			isa = PBXGroup;
			children = (
				45D0562979F3F88D00000001 /* XCTest-intermediates */,
			);
			name = Three;
			sourceTree = "<group>";
		};
		45D0562978986CA000000001 /* Three */ = {
			isa = PBXGroup;
			children = (
				25889F7CADBB0ACA00000000 /* BUILD */,
				25889F7C96D67B6F00000000 /* XCTest.m */,
			);
			name = Three;
			sourceTree = "<group>";
		};
		45D0562979F3F88D00000000 /* XCTest-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C9B804E0000000000 /* Info.plist */,
			);
			name = "XCTest-intermediates";
			sourceTree = "<group>";
		};
		45D0562979F3F88D00000001 /* XCTest-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CA46B3F1D00000000 /* Info.plist */,
			);
			name = "XCTest-intermediates";
			sourceTree = "<group>";
		};
		45D0562979F3F88D00000002 /* XCTest-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CCD38665F00000000 /* Info.plist */,
			);
			name = "XCTest-intermediates";
			sourceTree = "<group>";
		};
		45D0562986127A4B00000000 /* LogicTest-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CD4C5117300000000 /* Info.plist */,
			);
			name = "LogicTest-intermediates";
			sourceTree = "<group>";
		};
		45D05629A259EF0200000000 /* bazel-tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000000 /* x */,
			);
			name = "bazel-tulsi-includes";
			sourceTree = "<group>";
		};
		45D05629B56AD7F200000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				45D056291BF813BD00000000 /* Products */,
				45D0562906FE71CF00000001 /* TestSuite */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		45D05629C0087DBE00000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				25889F7CF757D27400000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C35F4A86400000000 /* main.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		45D05629D43882ED00000000 /* One */ = {
			isa = PBXGroup;
			children = (
				45D0562986127A4B00000000 /* LogicTest-intermediates */,
				45D0562979F3F88D00000000 /* XCTest-intermediates */,
			);
			name = One;
			sourceTree = "<group>";
		};
		45D05629D43882ED00000001 /* One */ = {
			isa = PBXGroup;
			children = (
				25889F7C5F8D5C0800000000 /* BUILD */,
				25889F7C9F3B3D3900000000 /* LogicTest.m */,
				25889F7CA25B0A0200000000 /* XCTest.m */,
			);
			name = One;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXLegacyTarget section */
		01F2CBCF9734745C00000000 /* _bazel_clean_ */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
			buildConfigurationList = F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
			buildPhases = (
			);
			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
			buildWorkingDirectory = "${SRCROOT}/..";
			dependencies = (
			);
			name = _bazel_clean_;
			passBuildSettingsInEnvironment = 1;
			productName = _bazel_clean_;
		};
/* End PBXLegacyTarget section */

/* Begin PBXNativeTarget section */
		7E9AFE621FDDBD5C00000000 /* TestApplication */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDE5B9C6FA00000000 /* Build configuration list for PBXNativeTarget "TestApplication" */;
			buildPhases = (
				978262ABB3B9DBA500000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = TestApplication;
			productName = TestApplication;
			productReference = 25889F7CB8B54B6E00000000 /* TestApplication.app */;
			productType = "com.apple.product-type.application";
		};
		7E9AFE6238918F2000000000 /* TestSuite-Three-XCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDA5985C6D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */;
			buildPhases = (
				978262ABE1E5C70200000000 /* ShellScript */,
				978262ABF6DBF80000000002 /* ShellScript */,
				04BFD5160000000000000002 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = "TestSuite-Three-XCTest";
			productName = "TestSuite-Three-XCTest";
			productReference = 25889F7C149738A400000000 /* TestSuite-Three-XCTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE6243B8875800000000 /* TestSuite-One-XCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDCBBF3A8D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */;
			buildPhases = (
				978262AB428C9DC600000000 /* ShellScript */,
				978262ABF6DBF80000000001 /* ShellScript */,
				04BFD5160000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = "TestSuite-One-XCTest";
			productName = "TestSuite-One-XCTest";
			productReference = 25889F7C1E33767800000000 /* TestSuite-One-XCTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE6278F802E600000000 /* LogicTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED807D86F400000000 /* Build configuration list for PBXNativeTarget "LogicTest" */;
			buildPhases = (
				978262AB6C4356E300000000 /* ShellScript */,
				978262AB465FBEB300000000 /* ShellScript */,
				04BFD5160000000000000003 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = LogicTest;
			productName = LogicTest;
			productReference = 25889F7C5801CD8000000000 /* LogicTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE628EB1D89400000000 /* TestSuite-Two-XCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDF7C1705C00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */;
			buildPhases = (
				978262AB294530F400000000 /* ShellScript */,
				978262ABF6DBF80000000000 /* ShellScript */,
				04BFD5160000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = "TestSuite-Two-XCTest";
			productName = "TestSuite-Two-XCTest";
			productReference = 25889F7CCE0328AC00000000 /* TestSuite-Two-XCTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE62A2FFBD5000000000 /* _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED4F81E49E00000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0" */;
			buildPhases = (
				04BFD5160000000000000004 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0;
			productName = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0;
			productReference = 25889F7CF757D27400000000 /* lib_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9034464BE473872800000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 1000;
				TargetAttributes = {
					7E9AFE6238918F2000000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
					7E9AFE6243B8875800000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
					7E9AFE628EB1D89400000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
				};
			};
			buildConfigurationList = F4222DED6A5DBD9400000000 /* Build configuration list for PBXProject "TestSuiteExplicitXCTestsProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
			targets = (
				7E9AFE6278F802E600000000 /* LogicTest */,
				7E9AFE621FDDBD5C00000000 /* TestApplication */,
				7E9AFE6243B8875800000000 /* TestSuite-One-XCTest */,
				7E9AFE6238918F2000000000 /* TestSuite-Three-XCTest */,
				7E9AFE628EB1D89400000000 /* TestSuite-Two-XCTest */,
				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
				7E9AFE62A2FFBD5000000000 /* _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		978262AB294530F400000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Two:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB428C9DC600000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/One:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB465FBEB300000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(LogicTest)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262AB6C4356E300000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/One:LogicTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262ABB3B9DBA500000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262ABE1E5C70200000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262ABF6DBF80000000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(XCTest)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262ABF6DBF80000000001 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(XCTest)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262ABF6DBF80000000002 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(XCTest)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		04BFD5160000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D5D1BD9FD00000000 /* XCTest.m in Two */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886DA25B0A0200000000 /* XCTest.m in One */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000002 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D96D67B6F00000000 /* XCTest.m in Three */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000003 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D9F3B3D3900000000 /* LogicTest.m in One */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000004 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D96D67B6F00000001 /* XCTest.m in Three */,
				952C886D35F4A86400000000 /* main.m in srcs */,
				952C886D9F3B3D3900000001 /* LogicTest.m in One */,
				952C886D5D1BD9FD00000001 /* XCTest.m in Two */,
				952C886DA25B0A0200000001 /* XCTest.m in One */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 30E8372A1FDDBD5D00000000 /* PBXContainerItemProxy */;
		};
		89B1AEB39734745D00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 30E8372A9734745D00000000 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		0207AA281FC531E700000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Two:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Two;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000003 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000005 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:LogicTest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
				PRODUCT_NAME = LogicTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA2838C3D90E00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Two:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Two;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000005 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:LogicTest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
				PRODUCT_NAME = LogicTest;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000006 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_NAME = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		0207AA28616216BF00000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Two:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Two;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Release;
		};
		0207AA28616216BF00000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Release;
		};
		0207AA28616216BF00000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Release;
		};
		0207AA28616216BF00000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Release;
		};
		0207AA28616216BF00000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		0207AA28616216BF00000005 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:LogicTest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
				PRODUCT_NAME = LogicTest;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = Release;
		};
		0207AA28616216BF00000006 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/bazel-tulsi-includes/x/x/ $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_NAME = _idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Two:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Two;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteExplicitXCTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000005 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/One:LogicTest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.bazelbuild.rulesapple.Tests;
				PRODUCT_NAME = LogicTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite/One;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.2.1.10E1001;
			};
			name = __TulsiTestRunner_Debug;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED4F81E49E00000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestLib_ApplicationLibrary_LogicTestLib_XCTestLib_XCTestLib_F6CE7457_ios_min10.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000006 /* Debug */,
				0207AA28616216BF00000006 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED6A5DBD9400000000 /* Build configuration list for PBXProject "TestSuiteExplicitXCTestsProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000004 /* Debug */,
				0207AA28616216BF00000004 /* Release */,
				0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000004 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED807D86F400000000 /* Build configuration list for PBXNativeTarget "LogicTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000005 /* Debug */,
				0207AA28616216BF00000005 /* Release */,
				0207AA28F23A778400000005 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000005 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDA5985C6D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Three-XCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000003 /* Debug */,
				0207AA28616216BF00000003 /* Release */,
				0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000003 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDCBBF3A8D00000000 /* Build configuration list for PBXNativeTarget "TestSuite-One-XCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000002 /* Debug */,
				0207AA28616216BF00000002 /* Release */,
				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDE5B9C6FA00000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000001 /* Debug */,
				0207AA28616216BF00000001 /* Release */,
				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDF7C1705C00000000 /* Build configuration list for PBXNativeTarget "TestSuite-Two-XCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000000 /* Debug */,
				0207AA28616216BF00000000 /* Release */,
				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9034464BE473872800000000 /* Project object */;
}