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

/* Begin PBXBuildFile section */
		E15BA7A9179DA969006A1314 /* nlthread-unittest.c in Sources */ = {isa = PBXBuildFile; fileRef = E15BA79A179DA903006A1314 /* nlthread-unittest.c */; };
		E15BA7AA179DA969006A1314 /* nlthread-key-mgnt.c in Sources */ = {isa = PBXBuildFile; fileRef = A65174111799E5B2008C65FF /* nlthread-key-mgnt.c */; };
		E15BA7AB179DA96D006A1314 /* aes_core.c in Sources */ = {isa = PBXBuildFile; fileRef = A6517414179B076C008C65FF /* aes_core.c */; };
		E15BA7AC179DA97E006A1314 /* hmac_sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = A651747E179B3541008C65FF /* hmac_sha256.c */; };
		E15BA7AD179DA97E006A1314 /* sha2.c in Sources */ = {isa = PBXBuildFile; fileRef = A6517454179B3514008C65FF /* sha2.c */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		E15BA79D179DA93C006A1314 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		A65174101799E5A2008C65FF /* nlthread-key-mgnt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "nlthread-key-mgnt.h"; sourceTree = "<group>"; };
		A65174111799E5B2008C65FF /* nlthread-key-mgnt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "nlthread-key-mgnt.c"; sourceTree = "<group>"; };
		A6517413179B076C008C65FF /* aes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
		A6517414179B076C008C65FF /* aes_core.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = aes_core.c; sourceTree = "<group>"; };
		A6517415179B076C008C65FF /* aes_local_orig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = aes_local_orig.h; sourceTree = "<group>"; };
		A6517416179B076C008C65FF /* aes_locl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = aes_locl.h; sourceTree = "<group>"; };
		A651744C179B3514008C65FF /* confighelp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = confighelp.c; sourceTree = "<group>"; };
		A651744D179B3514008C65FF /* hmac.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hmac.c; sourceTree = "<group>"; };
		A651744E179B3514008C65FF /* hmac_sha1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hmac_sha1.c; sourceTree = "<group>"; };
		A651744F179B3514008C65FF /* hmac_sha1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hmac_sha1.h; sourceTree = "<group>"; };
		A6517450179B3514008C65FF /* hmac_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hmac_test.c; sourceTree = "<group>"; };
		A6517451179B3514008C65FF /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
		A6517452179B3514008C65FF /* sha.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = "<group>"; };
		A6517453179B3514008C65FF /* sha1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sha1.c; sourceTree = "<group>"; };
		A6517454179B3514008C65FF /* sha2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sha2.c; sourceTree = "<group>"; };
		A6517455179B3514008C65FF /* sha2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sha2.h; sourceTree = "<group>"; };
		A6517456179B3514008C65FF /* sha2prog.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sha2prog.c; sourceTree = "<group>"; };
		A6517457179B3514008C65FF /* sha2speed.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sha2speed.c; sourceTree = "<group>"; };
		A6517458179B3514008C65FF /* sha2test.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = sha2test.pl; sourceTree = "<group>"; };
		A651745A179B3514008C65FF /* vector001.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector001.dat; sourceTree = "<group>"; };
		A651745B179B3514008C65FF /* vector001.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector001.info; sourceTree = "<group>"; };
		A651745C179B3514008C65FF /* vector002.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector002.dat; sourceTree = "<group>"; };
		A651745D179B3514008C65FF /* vector002.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector002.info; sourceTree = "<group>"; };
		A651745E179B3514008C65FF /* vector003.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector003.dat; sourceTree = "<group>"; };
		A651745F179B3514008C65FF /* vector003.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector003.info; sourceTree = "<group>"; };
		A6517460179B3514008C65FF /* vector004.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector004.dat; sourceTree = "<group>"; };
		A6517461179B3514008C65FF /* vector004.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector004.info; sourceTree = "<group>"; };
		A6517462179B3514008C65FF /* vector005.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector005.dat; sourceTree = "<group>"; };
		A6517463179B3514008C65FF /* vector005.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector005.info; sourceTree = "<group>"; };
		A6517464179B3514008C65FF /* vector006.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector006.dat; sourceTree = "<group>"; };
		A6517465179B3514008C65FF /* vector006.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector006.info; sourceTree = "<group>"; };
		A6517466179B3514008C65FF /* vector007.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector007.dat; sourceTree = "<group>"; };
		A6517467179B3514008C65FF /* vector007.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector007.info; sourceTree = "<group>"; };
		A6517468179B3514008C65FF /* vector008.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector008.dat; sourceTree = "<group>"; };
		A6517469179B3514008C65FF /* vector008.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector008.info; sourceTree = "<group>"; };
		A651746A179B3514008C65FF /* vector009.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector009.dat; sourceTree = "<group>"; };
		A651746B179B3514008C65FF /* vector009.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector009.info; sourceTree = "<group>"; };
		A651746C179B3514008C65FF /* vector010.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector010.dat; sourceTree = "<group>"; };
		A651746D179B3514008C65FF /* vector010.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector010.info; sourceTree = "<group>"; };
		A651746E179B3514008C65FF /* vector011.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector011.dat; sourceTree = "<group>"; };
		A651746F179B3514008C65FF /* vector011.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector011.info; sourceTree = "<group>"; };
		A6517470179B3514008C65FF /* vector012.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector012.dat; sourceTree = "<group>"; };
		A6517471179B3514008C65FF /* vector012.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector012.info; sourceTree = "<group>"; };
		A6517472179B3514008C65FF /* vector013.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector013.dat; sourceTree = "<group>"; };
		A6517473179B3514008C65FF /* vector013.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector013.info; sourceTree = "<group>"; };
		A6517474179B3514008C65FF /* vector014.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector014.dat; sourceTree = "<group>"; };
		A6517475179B3514008C65FF /* vector014.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector014.info; sourceTree = "<group>"; };
		A6517476179B3514008C65FF /* vector015.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector015.dat; sourceTree = "<group>"; };
		A6517477179B3514008C65FF /* vector015.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector015.info; sourceTree = "<group>"; };
		A6517478179B3514008C65FF /* vector016.dat */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector016.dat; sourceTree = "<group>"; };
		A6517479179B3514008C65FF /* vector016.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector016.info; sourceTree = "<group>"; };
		A651747A179B3514008C65FF /* vector017.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector017.dat; sourceTree = "<group>"; };
		A651747B179B3514008C65FF /* vector017.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector017.info; sourceTree = "<group>"; };
		A651747C179B3514008C65FF /* vector018.dat */ = {isa = PBXFileReference; lastKnownFileType = file; path = vector018.dat; sourceTree = "<group>"; };
		A651747D179B3514008C65FF /* vector018.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = vector018.info; sourceTree = "<group>"; };
		A651747E179B3541008C65FF /* hmac_sha256.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hmac_sha256.c; sourceTree = "<group>"; };
		A651747F179B3552008C65FF /* hmac_sha256.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hmac_sha256.h; sourceTree = "<group>"; };
		E15BA799179DA8DE006A1314 /* nlthread-platform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "nlthread-platform.h"; sourceTree = "<group>"; };
		E15BA79A179DA903006A1314 /* nlthread-unittest.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "nlthread-unittest.c"; sourceTree = "<group>"; };
		E15BA79F179DA93C006A1314 /* nlthread-unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "nlthread-unittest"; sourceTree = BUILT_PRODUCTS_DIR; };
		E15BA7AE179F1573006A1314 /* lc-addrlabels.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "lc-addrlabels.h"; sourceTree = "<group>"; };
		E15BA7AF179F1573006A1314 /* lc-switch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "lc-switch.h"; sourceTree = "<group>"; };
		E15BA7B0179F1573006A1314 /* lc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lc.h; sourceTree = "<group>"; };
		E15BA7B1179F1573006A1314 /* pt-sem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "pt-sem.h"; sourceTree = "<group>"; };
		E15BA7B2179F1573006A1314 /* pt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pt.h; sourceTree = "<group>"; };
		E15BA7B417A06D97006A1314 /* thread-key-mgnt.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "thread-key-mgnt.txt"; sourceTree = "<group>"; usesTabs = 0; };
		E15BA7B517A09898006A1314 /* nlthread-platform-config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "nlthread-platform-config.h"; sourceTree = "<group>"; };
		E15BA7B617A5CB93006A1314 /* thread-extra.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "thread-extra.txt"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		E15BA79C179DA93C006A1314 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		A65174091799E58C008C65FF = {
			isa = PBXGroup;
			children = (
				E15BA7B417A06D97006A1314 /* thread-key-mgnt.txt */,
				E15BA7B617A5CB93006A1314 /* thread-extra.txt */,
				E15BA7B517A09898006A1314 /* nlthread-platform-config.h */,
				A65174101799E5A2008C65FF /* nlthread-key-mgnt.h */,
				A65174111799E5B2008C65FF /* nlthread-key-mgnt.c */,
				E15BA799179DA8DE006A1314 /* nlthread-platform.h */,
				E15BA79A179DA903006A1314 /* nlthread-unittest.c */,
				E15BA7B3179F157F006A1314 /* pt */,
				A6517412179B076C008C65FF /* aes */,
				A651744B179B3514008C65FF /* hmac_sha */,
				E15BA7A0179DA93C006A1314 /* Products */,
			);
			sourceTree = "<group>";
		};
		A6517412179B076C008C65FF /* aes */ = {
			isa = PBXGroup;
			children = (
				A6517413179B076C008C65FF /* aes.h */,
				A6517414179B076C008C65FF /* aes_core.c */,
				A6517415179B076C008C65FF /* aes_local_orig.h */,
				A6517416179B076C008C65FF /* aes_locl.h */,
			);
			path = aes;
			sourceTree = "<group>";
		};
		A651744B179B3514008C65FF /* hmac_sha */ = {
			isa = PBXGroup;
			children = (
				A651744C179B3514008C65FF /* confighelp.c */,
				A651744D179B3514008C65FF /* hmac.c */,
				A651744E179B3514008C65FF /* hmac_sha1.c */,
				A651744F179B3514008C65FF /* hmac_sha1.h */,
				A651747E179B3541008C65FF /* hmac_sha256.c */,
				A651747F179B3552008C65FF /* hmac_sha256.h */,
				A6517450179B3514008C65FF /* hmac_test.c */,
				A6517451179B3514008C65FF /* README */,
				A6517452179B3514008C65FF /* sha.h */,
				A6517453179B3514008C65FF /* sha1.c */,
				A6517454179B3514008C65FF /* sha2.c */,
				A6517455179B3514008C65FF /* sha2.h */,
				A6517456179B3514008C65FF /* sha2prog.c */,
				A6517457179B3514008C65FF /* sha2speed.c */,
				A6517458179B3514008C65FF /* sha2test.pl */,
				A6517459179B3514008C65FF /* testvectors */,
			);
			path = hmac_sha;
			sourceTree = "<group>";
		};
		A6517459179B3514008C65FF /* testvectors */ = {
			isa = PBXGroup;
			children = (
				A651745A179B3514008C65FF /* vector001.dat */,
				A651745B179B3514008C65FF /* vector001.info */,
				A651745C179B3514008C65FF /* vector002.dat */,
				A651745D179B3514008C65FF /* vector002.info */,
				A651745E179B3514008C65FF /* vector003.dat */,
				A651745F179B3514008C65FF /* vector003.info */,
				A6517460179B3514008C65FF /* vector004.dat */,
				A6517461179B3514008C65FF /* vector004.info */,
				A6517462179B3514008C65FF /* vector005.dat */,
				A6517463179B3514008C65FF /* vector005.info */,
				A6517464179B3514008C65FF /* vector006.dat */,
				A6517465179B3514008C65FF /* vector006.info */,
				A6517466179B3514008C65FF /* vector007.dat */,
				A6517467179B3514008C65FF /* vector007.info */,
				A6517468179B3514008C65FF /* vector008.dat */,
				A6517469179B3514008C65FF /* vector008.info */,
				A651746A179B3514008C65FF /* vector009.dat */,
				A651746B179B3514008C65FF /* vector009.info */,
				A651746C179B3514008C65FF /* vector010.dat */,
				A651746D179B3514008C65FF /* vector010.info */,
				A651746E179B3514008C65FF /* vector011.dat */,
				A651746F179B3514008C65FF /* vector011.info */,
				A6517470179B3514008C65FF /* vector012.dat */,
				A6517471179B3514008C65FF /* vector012.info */,
				A6517472179B3514008C65FF /* vector013.dat */,
				A6517473179B3514008C65FF /* vector013.info */,
				A6517474179B3514008C65FF /* vector014.dat */,
				A6517475179B3514008C65FF /* vector014.info */,
				A6517476179B3514008C65FF /* vector015.dat */,
				A6517477179B3514008C65FF /* vector015.info */,
				A6517478179B3514008C65FF /* vector016.dat */,
				A6517479179B3514008C65FF /* vector016.info */,
				A651747A179B3514008C65FF /* vector017.dat */,
				A651747B179B3514008C65FF /* vector017.info */,
				A651747C179B3514008C65FF /* vector018.dat */,
				A651747D179B3514008C65FF /* vector018.info */,
			);
			path = testvectors;
			sourceTree = "<group>";
		};
		E15BA7A0179DA93C006A1314 /* Products */ = {
			isa = PBXGroup;
			children = (
				E15BA79F179DA93C006A1314 /* nlthread-unittest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		E15BA7B3179F157F006A1314 /* pt */ = {
			isa = PBXGroup;
			children = (
				E15BA7AE179F1573006A1314 /* lc-addrlabels.h */,
				E15BA7AF179F1573006A1314 /* lc-switch.h */,
				E15BA7B0179F1573006A1314 /* lc.h */,
				E15BA7B1179F1573006A1314 /* pt-sem.h */,
				E15BA7B2179F1573006A1314 /* pt.h */,
			);
			name = pt;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		E15BA79E179DA93C006A1314 /* Unit Test */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E15BA7A6179DA93C006A1314 /* Build configuration list for PBXNativeTarget "Unit Test" */;
			buildPhases = (
				E15BA79B179DA93C006A1314 /* Sources */,
				E15BA79C179DA93C006A1314 /* Frameworks */,
				E15BA79D179DA93C006A1314 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Unit Test";
			productName = "Unit Test";
			productReference = E15BA79F179DA93C006A1314 /* nlthread-unittest */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		A651740A1799E58C008C65FF /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0460;
			};
			buildConfigurationList = A651740D1799E58C008C65FF /* Build configuration list for PBXProject "thread" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = A65174091799E58C008C65FF;
			productRefGroup = E15BA7A0179DA93C006A1314 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				E15BA79E179DA93C006A1314 /* Unit Test */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		E15BA79B179DA93C006A1314 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E15BA7A9179DA969006A1314 /* nlthread-unittest.c in Sources */,
				E15BA7AA179DA969006A1314 /* nlthread-key-mgnt.c in Sources */,
				E15BA7AB179DA96D006A1314 /* aes_core.c in Sources */,
				E15BA7AC179DA97E006A1314 /* hmac_sha256.c in Sources */,
				E15BA7AD179DA97E006A1314 /* sha2.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		A651740E1799E58C008C65FF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Debug;
		};
		A651740F1799E58C008C65FF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
			};
			name = Release;
		};
		E15BA7A7179DA93C006A1314 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_VERSION = com.apple.compilers.llvmgcc42;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_PEDANTIC = YES;
				GCC_WARN_SIGN_COMPARE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLVM_LTO = YES;
				ONLY_ACTIVE_ARCH = YES;
				PRODUCT_NAME = "nlthread-unittest";
				WARNING_CFLAGS = "-Wimplicit-function-declaration";
			};
			name = Debug;
		};
		E15BA7A8179DA93C006A1314 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_VERSION = com.apple.compilers.llvmgcc42;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_PEDANTIC = YES;
				GCC_WARN_SIGN_COMPARE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLVM_LTO = YES;
				PRODUCT_NAME = "nlthread-unittest";
				WARNING_CFLAGS = "-Wimplicit-function-declaration";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A651740D1799E58C008C65FF /* Build configuration list for PBXProject "thread" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A651740E1799E58C008C65FF /* Debug */,
				A651740F1799E58C008C65FF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		E15BA7A6179DA93C006A1314 /* Build configuration list for PBXNativeTarget "Unit Test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E15BA7A7179DA93C006A1314 /* Debug */,
				E15BA7A8179DA93C006A1314 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = A651740A1799E58C008C65FF /* Project object */;
}
