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

/* Begin PBXBuildFile section */
		1B06BE23CD3929D2F0FC4E19 /* libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDAAE16606324962F594A827 /* libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a */; };
		20923B171DF741CD00DA6196 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 20923B161DF741CD00DA6196 /* main.m */; };
		20923B1A1DF741CD00DA6196 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 20923B191DF741CD00DA6196 /* AppDelegate.m */; };
		20923B201DF741CD00DA6196 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 20923B1E1DF741CD00DA6196 /* Main.storyboard */; };
		20923B221DF741CD00DA6196 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 20923B211DF741CD00DA6196 /* Assets.xcassets */; };
		20923B251DF741CD00DA6196 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 20923B231DF741CD00DA6196 /* LaunchScreen.storyboard */; };
		20923B3C1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 20923B3B1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.m */; };
		20923B3E1DF745C200DA6196 /* MDFSpritedAnimationViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 20923B3D1DF745C200DA6196 /* MDFSpritedAnimationViewTests.m */; };
		20923B401DF7464000DA6196 /* SpritedAnimationView.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 20923B3F1DF7464000DA6196 /* SpritedAnimationView.xcassets */; };
		57680B7ECF0A497E7F2919EB /* libPods-MDFSpritedAnimationViewExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 12C9E7F82665AC1B3BF46895 /* libPods-MDFSpritedAnimationViewExample.a */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		20923B2C1DF741CD00DA6196 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 20923B0A1DF741CD00DA6196 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 20923B111DF741CD00DA6196;
			remoteInfo = MDFSpritedAnimationViewExample;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		12C9E7F82665AC1B3BF46895 /* libPods-MDFSpritedAnimationViewExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MDFSpritedAnimationViewExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		20923B121DF741CD00DA6196 /* MDFSpritedAnimationViewExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MDFSpritedAnimationViewExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
		20923B161DF741CD00DA6196 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		20923B181DF741CD00DA6196 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		20923B191DF741CD00DA6196 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		20923B1F1DF741CD00DA6196 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		20923B211DF741CD00DA6196 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		20923B241DF741CD00DA6196 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		20923B261DF741CD00DA6196 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		20923B2B1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MDFSpritedAnimationViewExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		20923B311DF741CD00DA6196 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		20923B3A1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpritedAnimationViewTypicalUseViewController.h; path = ../../SpritedAnimationViewTypicalUseViewController.h; sourceTree = "<group>"; };
		20923B3B1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SpritedAnimationViewTypicalUseViewController.m; path = ../../SpritedAnimationViewTypicalUseViewController.m; sourceTree = "<group>"; };
		20923B3D1DF745C200DA6196 /* MDFSpritedAnimationViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MDFSpritedAnimationViewTests.m; path = ../../../tests/unit/MDFSpritedAnimationViewTests.m; sourceTree = "<group>"; };
		20923B3F1DF7464000DA6196 /* SpritedAnimationView.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = SpritedAnimationView.xcassets; path = ../../resources/SpritedAnimationView.xcassets; sourceTree = "<group>"; };
		7452AEAA11D613EAF38A873A /* Pods-MDFSpritedAnimationViewExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MDFSpritedAnimationViewExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample.release.xcconfig"; sourceTree = "<group>"; };
		BA2D72ABB87A319A1FD11ABA /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.release.xcconfig"; sourceTree = "<group>"; };
		C15E8207EE29EE68974E3DBE /* Pods-MDFSpritedAnimationViewExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MDFSpritedAnimationViewExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample.debug.xcconfig"; sourceTree = "<group>"; };
		C854C8767416CE4EDA1897AB /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.debug.xcconfig"; sourceTree = "<group>"; };
		DDAAE16606324962F594A827 /* libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		20923B0F1DF741CD00DA6196 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				57680B7ECF0A497E7F2919EB /* libPods-MDFSpritedAnimationViewExample.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		20923B281DF741CD00DA6196 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1B06BE23CD3929D2F0FC4E19 /* libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		20923B091DF741CD00DA6196 = {
			isa = PBXGroup;
			children = (
				20923B141DF741CD00DA6196 /* MDFSpritedAnimationViewExample */,
				20923B2E1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests */,
				20923B131DF741CD00DA6196 /* Products */,
				28256DCDF78D7C931D6DF0CD /* Pods */,
				AED6A6DAF0E352E5832C271D /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		20923B131DF741CD00DA6196 /* Products */ = {
			isa = PBXGroup;
			children = (
				20923B121DF741CD00DA6196 /* MDFSpritedAnimationViewExample.app */,
				20923B2B1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		20923B141DF741CD00DA6196 /* MDFSpritedAnimationViewExample */ = {
			isa = PBXGroup;
			children = (
				20923B181DF741CD00DA6196 /* AppDelegate.h */,
				20923B191DF741CD00DA6196 /* AppDelegate.m */,
				20923B3A1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.h */,
				20923B3B1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.m */,
				20923B1E1DF741CD00DA6196 /* Main.storyboard */,
				20923B3F1DF7464000DA6196 /* SpritedAnimationView.xcassets */,
				20923B211DF741CD00DA6196 /* Assets.xcassets */,
				20923B231DF741CD00DA6196 /* LaunchScreen.storyboard */,
				20923B261DF741CD00DA6196 /* Info.plist */,
				20923B151DF741CD00DA6196 /* Supporting Files */,
			);
			path = MDFSpritedAnimationViewExample;
			sourceTree = "<group>";
		};
		20923B151DF741CD00DA6196 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				20923B161DF741CD00DA6196 /* main.m */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		20923B2E1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests */ = {
			isa = PBXGroup;
			children = (
				20923B3D1DF745C200DA6196 /* MDFSpritedAnimationViewTests.m */,
				20923B311DF741CD00DA6196 /* Info.plist */,
			);
			path = MDFSpritedAnimationViewExampleTests;
			sourceTree = "<group>";
		};
		28256DCDF78D7C931D6DF0CD /* Pods */ = {
			isa = PBXGroup;
			children = (
				C15E8207EE29EE68974E3DBE /* Pods-MDFSpritedAnimationViewExample.debug.xcconfig */,
				7452AEAA11D613EAF38A873A /* Pods-MDFSpritedAnimationViewExample.release.xcconfig */,
				C854C8767416CE4EDA1897AB /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.debug.xcconfig */,
				BA2D72ABB87A319A1FD11ABA /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.release.xcconfig */,
			);
			name = Pods;
			sourceTree = "<group>";
		};
		AED6A6DAF0E352E5832C271D /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				12C9E7F82665AC1B3BF46895 /* libPods-MDFSpritedAnimationViewExample.a */,
				DDAAE16606324962F594A827 /* libPods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.a */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		20923B111DF741CD00DA6196 /* MDFSpritedAnimationViewExample */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 20923B341DF741CD00DA6196 /* Build configuration list for PBXNativeTarget "MDFSpritedAnimationViewExample" */;
			buildPhases = (
				E1FB583A8E7B04F657DD8EAB /* [CP] Check Pods Manifest.lock */,
				20923B0E1DF741CD00DA6196 /* Sources */,
				20923B0F1DF741CD00DA6196 /* Frameworks */,
				20923B101DF741CD00DA6196 /* Resources */,
				6FB729D11BCBA37F8593E55E /* [CP] Embed Pods Frameworks */,
				DC8CEE9167784F66606E135D /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = MDFSpritedAnimationViewExample;
			productName = MDFSpritedAnimationViewExample;
			productReference = 20923B121DF741CD00DA6196 /* MDFSpritedAnimationViewExample.app */;
			productType = "com.apple.product-type.application";
		};
		20923B2A1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 20923B371DF741CD00DA6196 /* Build configuration list for PBXNativeTarget "MDFSpritedAnimationViewExampleTests" */;
			buildPhases = (
				3C630E0C8C995664CD618762 /* [CP] Check Pods Manifest.lock */,
				20923B271DF741CD00DA6196 /* Sources */,
				20923B281DF741CD00DA6196 /* Frameworks */,
				20923B291DF741CD00DA6196 /* Resources */,
				1F52C79EE39D3D1C52475749 /* [CP] Embed Pods Frameworks */,
				3B5CD1301FCCB4A79C67081A /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				20923B2D1DF741CD00DA6196 /* PBXTargetDependency */,
			);
			name = MDFSpritedAnimationViewExampleTests;
			productName = MDFSpritedAnimationViewExampleTests;
			productReference = 20923B2B1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		20923B0A1DF741CD00DA6196 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0800;
				ORGANIZATIONNAME = "Randall Li";
				TargetAttributes = {
					20923B111DF741CD00DA6196 = {
						CreatedOnToolsVersion = 8.0;
						ProvisioningStyle = Automatic;
					};
					20923B2A1DF741CD00DA6196 = {
						CreatedOnToolsVersion = 8.0;
						ProvisioningStyle = Automatic;
						TestTargetID = 20923B111DF741CD00DA6196;
					};
				};
			};
			buildConfigurationList = 20923B0D1DF741CD00DA6196 /* Build configuration list for PBXProject "MDFSpritedAnimationViewExample" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 20923B091DF741CD00DA6196;
			productRefGroup = 20923B131DF741CD00DA6196 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				20923B111DF741CD00DA6196 /* MDFSpritedAnimationViewExample */,
				20923B2A1DF741CD00DA6196 /* MDFSpritedAnimationViewExampleTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		20923B101DF741CD00DA6196 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				20923B251DF741CD00DA6196 /* LaunchScreen.storyboard in Resources */,
				20923B221DF741CD00DA6196 /* Assets.xcassets in Resources */,
				20923B201DF741CD00DA6196 /* Main.storyboard in Resources */,
				20923B401DF7464000DA6196 /* SpritedAnimationView.xcassets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		20923B291DF741CD00DA6196 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		1F52C79EE39D3D1C52475749 /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		3B5CD1301FCCB4A79C67081A /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests/Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		3C630E0C8C995664CD618762 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n";
			showEnvVarsInLog = 0;
		};
		6FB729D11BCBA37F8593E55E /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		DC8CEE9167784F66606E135D /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MDFSpritedAnimationViewExample/Pods-MDFSpritedAnimationViewExample-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		E1FB583A8E7B04F657DD8EAB /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n";
			showEnvVarsInLog = 0;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		20923B0E1DF741CD00DA6196 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				20923B3C1DF7448E00DA6196 /* SpritedAnimationViewTypicalUseViewController.m in Sources */,
				20923B1A1DF741CD00DA6196 /* AppDelegate.m in Sources */,
				20923B171DF741CD00DA6196 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		20923B271DF741CD00DA6196 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				20923B3E1DF745C200DA6196 /* MDFSpritedAnimationViewTests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		20923B2D1DF741CD00DA6196 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 20923B111DF741CD00DA6196 /* MDFSpritedAnimationViewExample */;
			targetProxy = 20923B2C1DF741CD00DA6196 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		20923B1E1DF741CD00DA6196 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				20923B1F1DF741CD00DA6196 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		20923B231DF741CD00DA6196 /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				20923B241DF741CD00DA6196 /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		20923B321DF741CD00DA6196 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVES = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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 = 10.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		20923B331DF741CD00DA6196 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVES = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				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 = 10.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		20923B351DF741CD00DA6196 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C15E8207EE29EE68974E3DBE /* Pods-MDFSpritedAnimationViewExample.debug.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = MDFSpritedAnimationViewExample/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.MDFSpritedAnimationViewExample;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		20923B361DF741CD00DA6196 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 7452AEAA11D613EAF38A873A /* Pods-MDFSpritedAnimationViewExample.release.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = MDFSpritedAnimationViewExample/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.MDFSpritedAnimationViewExample;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		20923B381DF741CD00DA6196 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C854C8767416CE4EDA1897AB /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.debug.xcconfig */;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				INFOPLIST_FILE = MDFSpritedAnimationViewExampleTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.MDFSpritedAnimationViewExampleTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MDFSpritedAnimationViewExample.app/MDFSpritedAnimationViewExample";
			};
			name = Debug;
		};
		20923B391DF741CD00DA6196 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BA2D72ABB87A319A1FD11ABA /* Pods-MDFSpritedAnimationViewExample-MDFSpritedAnimationViewExampleTests.release.xcconfig */;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				INFOPLIST_FILE = MDFSpritedAnimationViewExampleTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.MDFSpritedAnimationViewExampleTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MDFSpritedAnimationViewExample.app/MDFSpritedAnimationViewExample";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		20923B0D1DF741CD00DA6196 /* Build configuration list for PBXProject "MDFSpritedAnimationViewExample" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				20923B321DF741CD00DA6196 /* Debug */,
				20923B331DF741CD00DA6196 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		20923B341DF741CD00DA6196 /* Build configuration list for PBXNativeTarget "MDFSpritedAnimationViewExample" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				20923B351DF741CD00DA6196 /* Debug */,
				20923B361DF741CD00DA6196 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		20923B371DF741CD00DA6196 /* Build configuration list for PBXNativeTarget "MDFSpritedAnimationViewExampleTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				20923B381DF741CD00DA6196 /* Debug */,
				20923B391DF741CD00DA6196 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 20923B0A1DF741CD00DA6196 /* Project object */;
}
