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

/* Begin PBXBuildFile section */
		952C886D2F678D0900000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C2F678D0900000000 /* b.swift */; };
		952C886D3887B3BE00000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C3887B3BE00000000 /* b.swift */; };
		952C886D721A835100000000 /* b.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C721A835100000000 /* b.swift */; };
		952C886D7EE3C1D900000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C7EE3C1D900000000 /* a.swift */; };
		952C886D96574DF200000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C96574DF200000000 /* a.swift */; };
		952C886D9937DBCA00000000 /* a.swift in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C9937DBCA00000000 /* a.swift */; };
/* End PBXBuildFile section */

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

/* Begin PBXFileReference section */
		25889F7C101EF84900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_swift/Application-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C2F678D0900000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/b.swift"; sourceTree = "<group>"; };
		25889F7C3887B3BE00000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/b.swift"; sourceTree = "<group>"; };
		25889F7C721A835100000000 /* b.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = b.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/b.swift"; sourceTree = "<group>"; };
		25889F7C7EE3C1D900000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV4/srcs/a.swift"; sourceTree = "<group>"; };
		25889F7C85BADF0E00000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; path = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C889EFE9900000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_swift/BUILD; sourceTree = "<group>"; };
		25889F7C92490AD400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_swift/Info.plist"; sourceTree = "<group>"; };
		25889F7C96574DF200000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibrary/srcs/a.swift"; sourceTree = "<group>"; };
		25889F7C9937DBCA00000000 /* a.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = a.swift; path = "tulsi-workspace/tulsi_e2e_swift/SwiftLibraryV3/srcs/a.swift"; sourceTree = "<group>"; };
		25889F7CAAC072EA00000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; path = _idx_SwiftLibrary_77A8D266_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CD678C71C00000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; path = _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		45D056291BF813BD00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				25889F7CCCCE004E00000000 /* Application.app */,
				45D05629C0087DBE00000000 /* Indexer */,
				45D05629EAC0EC1600000000 /* _tulsi-includes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000000 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000001 /* x */ = {
			isa = PBXGroup;
			children = (
				45D05629F54B34FD00000000 /* tulsi_e2e_swift */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D056294538659E00000000 /* SwiftLibraryV3 */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000001 /* srcs */,
			);
			name = SwiftLibraryV3;
			sourceTree = "<group>";
		};
		45D0562973F84CD700000000 /* SwiftLibrary */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000000 /* srcs */,
			);
			name = SwiftLibrary;
			sourceTree = "<group>";
		};
		45D056299F6C0D6200000000 /* SwiftLibraryV4 */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000002 /* srcs */,
			);
			name = SwiftLibraryV4;
			sourceTree = "<group>";
		};
		45D05629B56AD7F200000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				45D056291BF813BD00000000 /* Products */,
				45D05629F54B34FD00000001 /* tulsi_e2e_swift */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		45D05629BBA58A3000000000 /* Application-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C101EF84900000000 /* Info.plist */,
			);
			name = "Application-intermediates";
			sourceTree = "<group>";
		};
		45D05629C0087DBE00000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				25889F7C85BADF0E00000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework */,
				25889F7CD678C71C00000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework */,
				25889F7CAAC072EA00000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0.framework */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C96574DF200000000 /* a.swift */,
				25889F7C3887B3BE00000000 /* b.swift */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000001 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C9937DBCA00000000 /* a.swift */,
				25889F7C721A835100000000 /* b.swift */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000002 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C7EE3C1D900000000 /* a.swift */,
				25889F7C2F678D0900000000 /* b.swift */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		45D05629EAC0EC1600000000 /* _tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000000 /* x */,
			);
			name = "_tulsi-includes";
			sourceTree = "<group>";
		};
		45D05629F54B34FD00000000 /* tulsi_e2e_swift */ = {
			isa = PBXGroup;
			children = (
				45D05629BBA58A3000000000 /* Application-intermediates */,
			);
			name = tulsi_e2e_swift;
			sourceTree = "<group>";
		};
		45D05629F54B34FD00000001 /* tulsi_e2e_swift */ = {
			isa = PBXGroup;
			children = (
				25889F7C889EFE9900000000 /* BUILD */,
				25889F7C92490AD400000000 /* Info.plist */,
				45D0562973F84CD700000000 /* SwiftLibrary */,
				45D056294538659E00000000 /* SwiftLibraryV3 */,
				45D056299F6C0D6200000000 /* SwiftLibraryV4 */,
			);
			name = tulsi_e2e_swift;
			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 */
		7E9AFE6207D4F0E800000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED54B4CFB700000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_B3719410_ios_min10.0" */;
			buildPhases = (
				04BFD5160000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_SwiftLibraryV4_B3719410_ios_min10.0;
			productName = _idx_SwiftLibraryV4_B3719410_ios_min10.0;
			productReference = 25889F7CD678C71C00000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0.framework */;
			productType = "com.apple.product-type.framework";
		};
		7E9AFE623891B9E600000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED12883A4100000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_77A8D266_ios_min10.0" */;
			buildPhases = (
				04BFD5160000000000000002 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_SwiftLibrary_77A8D266_ios_min10.0;
			productName = _idx_SwiftLibrary_77A8D266_ios_min10.0;
			productReference = 25889F7CAAC072EA00000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0.framework */;
			productType = "com.apple.product-type.framework";
		};
		7E9AFE6267D9455000000000 /* Application */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED4A42893600000000 /* Build configuration list for PBXNativeTarget "Application" */;
			buildPhases = (
				978262AB6DF6956400000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = Application;
			productName = Application;
			productReference = 25889F7CCCCE004E00000000 /* Application.app */;
			productType = "com.apple.product-type.application";
		};
		7E9AFE6270DB4CE200000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDDDE8563D00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_46A0CA4F_ios_min10.0" */;
			buildPhases = (
				04BFD5160000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0;
			productName = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0;
			productReference = 25889F7C85BADF0E00000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9034464BC8C52B7700000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 1000;
			};
			buildConfigurationList = F4222DED1FF4562200000000 /* Build configuration list for PBXProject "SwiftProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
			targets = (
				7E9AFE6267D9455000000000 /* Application */,
				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
				7E9AFE6270DB4CE200000000 /* _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0 */,
				7E9AFE6207D4F0E800000000 /* _idx_SwiftLibraryV4_B3719410_ios_min10.0 */,
				7E9AFE623891B9E600000000 /* _idx_SwiftLibrary_77A8D266_ios_min10.0 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		978262AB6DF6956400000000 /* 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\" //tulsi_e2e_swift:Application --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		04BFD5160000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D9937DBCA00000000 /* a.swift in srcs */,
				952C886D721A835100000000 /* b.swift in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D7EE3C1D900000000 /* a.swift in srcs */,
				952C886D2F678D0900000000 /* b.swift in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000002 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D96574DF200000000 /* a.swift in srcs */,
				952C886D3887B3BE00000000 /* b.swift in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

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

/* Begin XCBuildConfiguration section */
		0207AA281FC531E700000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
				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";
				SWIFT_VERSION = 4;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = SwiftProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
				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.invalid;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_swift;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA2838C3D90E00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
				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)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_VERSION = 4;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = SwiftProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
				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.invalid;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_swift;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3";
				PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4";
				PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps/module.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE";
				PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Debug;
		};
		0207AA28616216BF00000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
				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)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_VERSION = 4;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = SwiftProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		0207AA28616216BF00000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
				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.invalid;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_swift;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Release;
		};
		0207AA28616216BF00000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 3 -DLIBRARY_DEFINE_V3";
				PRODUCT_NAME = _idx_SwiftLibraryV3_46A0CA4F_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Release;
		};
		0207AA28616216BF00000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 4 -DLIBRARY_DEFINE_V4";
				PRODUCT_NAME = _idx_SwiftLibraryV4_B3719410_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Release;
		};
		0207AA28616216BF00000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift/SubSwiftLibrary.modulemaps/module.modulemap -DSUB_LIBRARY_DEFINE -DLIBRARY_DEFINE";
				PRODUCT_NAME = _idx_SwiftLibrary_77A8D266_ios_min10.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_swift";
			};
			name = Release;
		};
		0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
				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";
				SWIFT_VERSION = 4;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = SwiftProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_swift:Application";
				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.invalid;
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_swift;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Debug;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		F4222DED12883A4100000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibrary_77A8D266_ios_min10.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000004 /* Debug */,
				0207AA28616216BF00000004 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED1FF4562200000000 /* Build configuration list for PBXProject "SwiftProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000000 /* Debug */,
				0207AA28616216BF00000000 /* Release */,
				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED4A42893600000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000001 /* Debug */,
				0207AA28616216BF00000001 /* Release */,
				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED54B4CFB700000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV4_B3719410_ios_min10.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000003 /* Debug */,
				0207AA28616216BF00000003 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDDDE8563D00000000 /* Build configuration list for PBXNativeTarget "_idx_SwiftLibraryV3_46A0CA4F_ios_min10.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000002 /* Debug */,
				0207AA28616216BF00000002 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9034464BC8C52B7700000000 /* Project object */;
}