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

/* Begin PBXBuildFile section */
		9AA3BE6925C9D33B00A2BA83 /* TeaclaveClientSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AA3BE5F25C9D33B00A2BA83 /* TeaclaveClientSDK.framework */; };
		9AA3BE6E25C9D33B00A2BA83 /* TeaclaveClientSDKTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA3BE6D25C9D33B00A2BA83 /* TeaclaveClientSDKTests.swift */; };
		9AA3BE7025C9D33B00A2BA83 /* TeaclaveClientSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA3BE6225C9D33B00A2BA83 /* TeaclaveClientSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
		9ABF3E5625C9EBFB003D7DDC /* TeaclaveClientSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF3E5525C9EBFB003D7DDC /* TeaclaveClientSDK.swift */; };
		9AD06D1225C9FBB500651504 /* teaclave_client_sdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AD06D1125C9FBB500651504 /* teaclave_client_sdk.h */; settings = {ATTRIBUTES = (Private, ); }; };
		9AD06D2825CA042D00651504 /* libteaclave_client_sdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AD06D2725CA042D00651504 /* libteaclave_client_sdk.a */; };
		9AD06D4325CA061100651504 /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 9AD06D4225CA061100651504 /* OpenSSL */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		9AA3BE6A25C9D33B00A2BA83 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9AA3BE5625C9D33B00A2BA83 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 9AA3BE5E25C9D33B00A2BA83;
			remoteInfo = TeaclaveClientSDK;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		9AA3BE5F25C9D33B00A2BA83 /* TeaclaveClientSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TeaclaveClientSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		9AA3BE6225C9D33B00A2BA83 /* TeaclaveClientSDK.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TeaclaveClientSDK.h; sourceTree = "<group>"; };
		9AA3BE6325C9D33B00A2BA83 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		9AA3BE6825C9D33B00A2BA83 /* TeaclaveClientSDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TeaclaveClientSDKTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		9AA3BE6D25C9D33B00A2BA83 /* TeaclaveClientSDKTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeaclaveClientSDKTests.swift; sourceTree = "<group>"; };
		9AA3BE6F25C9D33B00A2BA83 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		9ABF3E5525C9EBFB003D7DDC /* TeaclaveClientSDK.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TeaclaveClientSDK.swift; sourceTree = "<group>"; };
		9AD06D1125C9FBB500651504 /* teaclave_client_sdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = teaclave_client_sdk.h; path = ../../c/teaclave_client_sdk.h; sourceTree = "<group>"; };
		9AD06D2725CA042D00651504 /* libteaclave_client_sdk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libteaclave_client_sdk.a; path = ../../rust/target/universal/debug/libteaclave_client_sdk.a; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		9AA3BE5C25C9D33B00A2BA83 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9AD06D2825CA042D00651504 /* libteaclave_client_sdk.a in Frameworks */,
				9AD06D4325CA061100651504 /* OpenSSL in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9AA3BE6525C9D33B00A2BA83 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9AA3BE6925C9D33B00A2BA83 /* TeaclaveClientSDK.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		9AA3BE5525C9D33A00A2BA83 = {
			isa = PBXGroup;
			children = (
				9AD06D1125C9FBB500651504 /* teaclave_client_sdk.h */,
				9AA3BE6125C9D33B00A2BA83 /* TeaclaveClientSDK */,
				9AA3BE6C25C9D33B00A2BA83 /* TeaclaveClientSDKTests */,
				9AA3BE6025C9D33B00A2BA83 /* Products */,
				9AA3BE8825C9D71200A2BA83 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		9AA3BE6025C9D33B00A2BA83 /* Products */ = {
			isa = PBXGroup;
			children = (
				9AA3BE5F25C9D33B00A2BA83 /* TeaclaveClientSDK.framework */,
				9AA3BE6825C9D33B00A2BA83 /* TeaclaveClientSDKTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		9AA3BE6125C9D33B00A2BA83 /* TeaclaveClientSDK */ = {
			isa = PBXGroup;
			children = (
				9AA3BE6225C9D33B00A2BA83 /* TeaclaveClientSDK.h */,
				9AA3BE6325C9D33B00A2BA83 /* Info.plist */,
				9ABF3E5525C9EBFB003D7DDC /* TeaclaveClientSDK.swift */,
			);
			path = TeaclaveClientSDK;
			sourceTree = "<group>";
		};
		9AA3BE6C25C9D33B00A2BA83 /* TeaclaveClientSDKTests */ = {
			isa = PBXGroup;
			children = (
				9AA3BE6D25C9D33B00A2BA83 /* TeaclaveClientSDKTests.swift */,
				9AA3BE6F25C9D33B00A2BA83 /* Info.plist */,
			);
			path = TeaclaveClientSDKTests;
			sourceTree = "<group>";
		};
		9AA3BE8825C9D71200A2BA83 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				9AD06D2725CA042D00651504 /* libteaclave_client_sdk.a */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		9AA3BE5A25C9D33B00A2BA83 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9AA3BE7025C9D33B00A2BA83 /* TeaclaveClientSDK.h in Headers */,
				9AD06D1225C9FBB500651504 /* teaclave_client_sdk.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		9AA3BE5E25C9D33B00A2BA83 /* TeaclaveClientSDK */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 9AA3BE7325C9D33B00A2BA83 /* Build configuration list for PBXNativeTarget "TeaclaveClientSDK" */;
			buildPhases = (
				9AA3BE5A25C9D33B00A2BA83 /* Headers */,
				9AA3BE5B25C9D33B00A2BA83 /* Sources */,
				9AA3BE5C25C9D33B00A2BA83 /* Frameworks */,
				9AA3BE5D25C9D33B00A2BA83 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = TeaclaveClientSDK;
			packageProductDependencies = (
				9AD06D4225CA061100651504 /* OpenSSL */,
			);
			productName = TeaclaveClientSDK;
			productReference = 9AA3BE5F25C9D33B00A2BA83 /* TeaclaveClientSDK.framework */;
			productType = "com.apple.product-type.framework";
		};
		9AA3BE6725C9D33B00A2BA83 /* TeaclaveClientSDKTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 9AA3BE7625C9D33B00A2BA83 /* Build configuration list for PBXNativeTarget "TeaclaveClientSDKTests" */;
			buildPhases = (
				9AA3BE6425C9D33B00A2BA83 /* Sources */,
				9AA3BE6525C9D33B00A2BA83 /* Frameworks */,
				9AA3BE6625C9D33B00A2BA83 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				9AA3BE6B25C9D33B00A2BA83 /* PBXTargetDependency */,
			);
			name = TeaclaveClientSDKTests;
			productName = TeaclaveClientSDKTests;
			productReference = 9AA3BE6825C9D33B00A2BA83 /* TeaclaveClientSDKTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9AA3BE5625C9D33B00A2BA83 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 1230;
				LastUpgradeCheck = 1240;
				TargetAttributes = {
					9AA3BE5E25C9D33B00A2BA83 = {
						CreatedOnToolsVersion = 12.3;
						LastSwiftMigration = 1230;
					};
					9AA3BE6725C9D33B00A2BA83 = {
						CreatedOnToolsVersion = 12.3;
					};
				};
			};
			buildConfigurationList = 9AA3BE5925C9D33B00A2BA83 /* Build configuration list for PBXProject "TeaclaveClientSDK" */;
			compatibilityVersion = "Xcode 9.3";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 9AA3BE5525C9D33A00A2BA83;
			packageReferences = (
				9AD06D4125CA061100651504 /* XCRemoteSwiftPackageReference "OpenSSL" */,
			);
			productRefGroup = 9AA3BE6025C9D33B00A2BA83 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				9AA3BE5E25C9D33B00A2BA83 /* TeaclaveClientSDK */,
				9AA3BE6725C9D33B00A2BA83 /* TeaclaveClientSDKTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		9AA3BE5D25C9D33B00A2BA83 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9AA3BE6625C9D33B00A2BA83 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		9AA3BE5B25C9D33B00A2BA83 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9ABF3E5625C9EBFB003D7DDC /* TeaclaveClientSDK.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		9AA3BE6425C9D33B00A2BA83 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				9AA3BE6E25C9D33B00A2BA83 /* TeaclaveClientSDKTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		9AA3BE6B25C9D33B00A2BA83 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 9AA3BE5E25C9D33B00A2BA83 /* TeaclaveClientSDK */;
			targetProxy = 9AA3BE6A25C9D33B00A2BA83 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		9AA3BE7125C9D33B00A2BA83 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_ENABLE_OBJC_WEAK = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 14.3;
				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
				MTL_FAST_MATH = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-lc++";
				SDKROOT = iphoneos;
				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		9AA3BE7225C9D33B00A2BA83 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_ENABLE_OBJC_WEAK = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 14.3;
				MTL_ENABLE_DEBUG_INFO = NO;
				MTL_FAST_MATH = YES;
				OTHER_LDFLAGS = "-lc++";
				SDKROOT = iphoneos;
				SWIFT_COMPILATION_MODE = wholemodule;
				SWIFT_OPTIMIZATION_LEVEL = "-O";
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		9AA3BE7425C9D33B00A2BA83 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "Apple Development";
				CODE_SIGN_STYLE = Automatic;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_BITCODE = NO;
				INFOPLIST_FILE = TeaclaveClientSDK/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)",
					"$(PROJECT_DIR)/../../rust/target/universal/debug",
				);
				MARKETING_VERSION = 0.5.0;
				MODULEMAP_FILE = "$(SRCROOT)/TeaclaveClientSDK/TeaclaveClientSDK.modulemap";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.teaclave.TeaclaveClientSDK;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SUPPORTS_MACCATALYST = NO;
				SWIFT_INCLUDE_PATHS = "";
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		9AA3BE7525C9D33B00A2BA83 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "Apple Development";
				CODE_SIGN_STYLE = Automatic;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				ENABLE_BITCODE = NO;
				INFOPLIST_FILE = TeaclaveClientSDK/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)",
					"$(PROJECT_DIR)/../../rust/target/universal/debug",
				);
				MARKETING_VERSION = 0.5.0;
				MODULEMAP_FILE = "$(SRCROOT)/TeaclaveClientSDK/TeaclaveClientSDK.modulemap";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.teaclave.TeaclaveClientSDK;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SUPPORTS_MACCATALYST = NO;
				SWIFT_INCLUDE_PATHS = "";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		9AA3BE7725C9D33B00A2BA83 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = TeaclaveClientSDKTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.teaclave.TeaclaveClientSDKTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		9AA3BE7825C9D33B00A2BA83 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = TeaclaveClientSDKTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
					"@loader_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.teaclave.TeaclaveClientSDKTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		9AA3BE5925C9D33B00A2BA83 /* Build configuration list for PBXProject "TeaclaveClientSDK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9AA3BE7125C9D33B00A2BA83 /* Debug */,
				9AA3BE7225C9D33B00A2BA83 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		9AA3BE7325C9D33B00A2BA83 /* Build configuration list for PBXNativeTarget "TeaclaveClientSDK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9AA3BE7425C9D33B00A2BA83 /* Debug */,
				9AA3BE7525C9D33B00A2BA83 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		9AA3BE7625C9D33B00A2BA83 /* Build configuration list for PBXNativeTarget "TeaclaveClientSDKTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				9AA3BE7725C9D33B00A2BA83 /* Debug */,
				9AA3BE7825C9D33B00A2BA83 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
		9AD06D4125CA061100651504 /* XCRemoteSwiftPackageReference "OpenSSL" */ = {
			isa = XCRemoteSwiftPackageReference;
			repositoryURL = "https://github.com/krzyzanowskim/OpenSSL.git";
			requirement = {
				kind = upToNextMajorVersion;
				minimumVersion = 1.1.180;
			};
		};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
		9AD06D4225CA061100651504 /* OpenSSL */ = {
			isa = XCSwiftPackageProductDependency;
			package = 9AD06D4125CA061100651504 /* XCRemoteSwiftPackageReference "OpenSSL" */;
			productName = OpenSSL;
		};
/* End XCSwiftPackageProductDependency section */
	};
	rootObject = 9AA3BE5625C9D33B00A2BA83 /* Project object */;
}
