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

/* Begin PBXBuildFile section */
		A93DBF3C24A2A4D500079F64 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B761C3AAE9800373FFD /* Icon.png */; };
		A93DBF3E24A2A4D500079F64 /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B751C3AAE9800373FFD /* Default~ipad.png */; };
		A93DBF3F24A2A4D500079F64 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */; };
		A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
		A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
		A93DBF4324A2A4D500079F64 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
		A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */; };
		A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
		A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
		A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
		A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
		A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
		A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
		A9B53B191C3AC0BE00ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
		A9B53B1A1C3AC0BE00ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B851C3AAEA200373FFD /* DemoViewController.m */; };
		A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B761C3AAE9800373FFD /* Icon.png */; };
		A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B771C3AAE9800373FFD /* Main.storyboard */; };
		A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B751C3AAE9800373FFD /* Default~ipad.png */; };
		A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */; };
		A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
		A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
		A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
		A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
		A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
		A93DBF4B24A2A4D500079F64 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A94D4CB424A2A95E009C9139 /* InfoTV.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InfoTV.plist; sourceTree = "<group>"; };
		A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = MainTV.storyboard; sourceTree = "<group>"; };
		A991E27524FD543A00D968D4 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../../MoltenVK/MoltenVK.xcframework; sourceTree = "<group>"; };
		A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
		A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoViewController.m; sourceTree = "<group>"; };
		A9B67B701C3AAE9800373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B711C3AAE9800373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B721C3AAE9800373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		A9B67B751C3AAE9800373FFD /* Default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~ipad.png"; sourceTree = "<group>"; };
		A9B67B761C3AAE9800373FFD /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
		A9B67B771C3AAE9800373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B821C3AAEA200373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		A9B67B831C3AAEA200373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		A9B67B841C3AAEA200373FFD /* DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoViewController.h; sourceTree = "<group>"; };
		A9B67B851C3AAEA200373FFD /* DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoViewController.m; sourceTree = "<group>"; };
		A9B67B861C3AAEA200373FFD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		A9B67B871C3AAEA200373FFD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
		A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
		A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
		A9B734FE2576E04000455E2A /* Cube.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Cube.entitlements; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		A93DBF4424A2A4D500079F64 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B371C3AC15200ABC6F6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				A9B53B271C3AC0BE00ABC6F6 /* Cube.app */,
				A9B53B431C3AC15200ABC6F6 /* Cube.app */,
				A93DBF4B24A2A4D500079F64 /* Cube.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				A9B734FE2576E04000455E2A /* Cube.entitlements */,
				A904B52C1C9A08C80008C013 /* cube */,
				A9B67B6A1C3AAE9800373FFD /* iOS */,
				A9B67B811C3AAEA200373FFD /* macOS */,
				19C28FACFE9D520D11CA2CBB /* Products */,
				A9C2ABA82185085B00DDBC03 /* Frameworks */,
			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		A904B52C1C9A08C80008C013 /* cube */ = {
			isa = PBXGroup;
			children = (
				A904B5301C9A08C90008C013 /* cube.c */,
				A904B5311C9A08C90008C013 /* cube.frag */,
				A904B5331C9A08C90008C013 /* cube.vert */,
			);
			name = cube;
			path = "../Vulkan-Tools/cube";
			sourceTree = "<group>";
		};
		A9B67B6A1C3AAE9800373FFD /* iOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */,
				A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */,
				A9B67B6E1C3AAE9800373FFD /* DemoViewController.h */,
				A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */,
				A9B67B701C3AAE9800373FFD /* Info.plist */,
				A94D4CB424A2A95E009C9139 /* InfoTV.plist */,
				A9B67B711C3AAE9800373FFD /* main.m */,
				A9B67B721C3AAE9800373FFD /* Prefix.pch */,
				A9B67B731C3AAE9800373FFD /* Resources */,
			);
			path = iOS;
			sourceTree = "<group>";
		};
		A9B67B731C3AAE9800373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B741C3AAE9800373FFD /* Default-568h@2x.png */,
				A9B67B751C3AAE9800373FFD /* Default~ipad.png */,
				A9B67B761C3AAE9800373FFD /* Icon.png */,
				A9B67B771C3AAE9800373FFD /* Main.storyboard */,
				A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9B67B811C3AAEA200373FFD /* macOS */ = {
			isa = PBXGroup;
			children = (
				A9B67B821C3AAEA200373FFD /* AppDelegate.h */,
				A9B67B831C3AAEA200373FFD /* AppDelegate.m */,
				A9B67B841C3AAEA200373FFD /* DemoViewController.h */,
				A9B67B851C3AAEA200373FFD /* DemoViewController.m */,
				A9B67B861C3AAEA200373FFD /* Info.plist */,
				A9B67B871C3AAEA200373FFD /* main.m */,
				A9B67B881C3AAEA200373FFD /* Prefix.pch */,
				A9B67B891C3AAEA200373FFD /* Resources */,
			);
			path = macOS;
			sourceTree = "<group>";
		};
		A9B67B891C3AAEA200373FFD /* Resources */ = {
			isa = PBXGroup;
			children = (
				A9B67B8A1C3AAEA200373FFD /* Main.storyboard */,
				A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
		A9C2ABA82185085B00DDBC03 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				A991E27524FD543A00D968D4 /* MoltenVK.xcframework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		A93DBF3A24A2A4D500079F64 /* Cube-tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A93DBF4824A2A4D500079F64 /* Build configuration list for PBXNativeTarget "Cube-tvOS" */;
			buildPhases = (
				A93DBF3B24A2A4D500079F64 /* Resources */,
				A93DBF4024A2A4D500079F64 /* Sources */,
				A93DBF4424A2A4D500079F64 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-tvOS";
			productName = foo;
			productReference = A93DBF4B24A2A4D500079F64 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
		A9B53B0F1C3AC0BE00ABC6F6 /* Cube-macOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */;
			buildPhases = (
				A9B53B141C3AC0BE00ABC6F6 /* Resources */,
				A9B53B171C3AC0BE00ABC6F6 /* Sources */,
				A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-macOS";
			productName = foo;
			productReference = A9B53B271C3AC0BE00ABC6F6 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
		A9B53B291C3AC15200ABC6F6 /* Cube-iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */;
			buildPhases = (
				A9B53B2E1C3AC15200ABC6F6 /* Resources */,
				A9B53B331C3AC15200ABC6F6 /* Sources */,
				A9B53B371C3AC15200ABC6F6 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Cube-iOS";
			productName = foo;
			productReference = A9B53B431C3AC15200ABC6F6 /* Cube.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1300;
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				ja,
				fr,
				de,
				Base,
				en,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A9B53B291C3AC15200ABC6F6 /* Cube-iOS */,
				A93DBF3A24A2A4D500079F64 /* Cube-tvOS */,
				A9B53B0F1C3AC0BE00ABC6F6 /* Cube-macOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		A93DBF3B24A2A4D500079F64 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A93DBF3C24A2A4D500079F64 /* Icon.png in Resources */,
				A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */,
				A93DBF3E24A2A4D500079F64 /* Default~ipad.png in Resources */,
				A93DBF3F24A2A4D500079F64 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B141C3AC0BE00ABC6F6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */,
				A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B2E1C3AC15200ABC6F6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B2F1C3AC15200ABC6F6 /* Icon.png in Resources */,
				A9B53B301C3AC15200ABC6F6 /* Main.storyboard in Resources */,
				A9B53B311C3AC15200ABC6F6 /* Default~ipad.png in Resources */,
				A9B53B321C3AC15200ABC6F6 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		A93DBF4024A2A4D500079F64 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */,
				A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */,
				A93DBF4324A2A4D500079F64 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B171C3AC0BE00ABC6F6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */,
				A9B53B191C3AC0BE00ABC6F6 /* main.m in Sources */,
				A9B53B1A1C3AC0BE00ABC6F6 /* DemoViewController.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A9B53B331C3AC15200ABC6F6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */,
				A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */,
				A9B53B361C3AC15200ABC6F6 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		A93DBF4924A2A4D500079F64 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		A93DBF4A24A2A4D500079F64 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = appletvos;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Release;
		};
		A9B53B251C3AC0BE00ABC6F6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_NAME = Cube;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		A9B53B261C3AC0BE00ABC6F6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				COMBINE_HIDPI_IMAGES = YES;
				GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_NAME = Cube;
				SDKROOT = macosx;
			};
			name = Release;
		};
		A9B53B411C3AC15200ABC6F6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_ENTITLEMENTS = Cube.entitlements;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = iphoneos;
				SUPPORTS_MACCATALYST = YES;
				TARGETED_DEVICE_FAMILY = "1,2,6";
			};
			name = Debug;
		};
		A9B53B421C3AC15200ABC6F6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_ENTITLEMENTS = Cube.entitlements;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CURRENT_PROJECT_VERSION = 1;
				DEVELOPMENT_TEAM = "";
				GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
				GCC_PREPROCESSOR_DEFINITIONS = (
					"$(inherited)",
					MVK_SAMP_CUBE,
				);
				INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
				MARKETING_VERSION = 1;
				PRODUCT_NAME = Cube;
				SDKROOT = iphoneos;
				SUPPORTS_MACCATALYST = YES;
				TARGETED_DEVICE_FAMILY = "1,2,6";
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++17";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				COPY_PHASE_STRIP = NO;
				ENABLE_BITCODE = NO;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					_DEBUG,
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/include\"",
					"\"$(SRCROOT)/../../MoltenVK/include\"",
				);
				OTHER_LDFLAGS = (
					"-ObjC",
					"-lstdc++",
				);
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_CXX_LANGUAGE_STANDARD = "c++17";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = NO;
				ENABLE_BITCODE = NO;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_OPTIMIZATION_LEVEL = 2;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				HEADER_SEARCH_PATHS = (
					"\"$(SRCROOT)/include\"",
					"\"$(SRCROOT)/../../MoltenVK/include\"",
				);
				OTHER_LDFLAGS = (
					"-ObjC",
					"-lstdc++",
				);
				PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A93DBF4824A2A4D500079F64 /* Build configuration list for PBXNativeTarget "Cube-tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A93DBF4924A2A4D500079F64 /* Debug */,
				A93DBF4A24A2A4D500079F64 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9B53B241C3AC0BE00ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-macOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9B53B251C3AC0BE00ABC6F6 /* Debug */,
				A9B53B261C3AC0BE00ABC6F6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		A9B53B401C3AC15200ABC6F6 /* Build configuration list for PBXNativeTarget "Cube-iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A9B53B411C3AC15200ABC6F6 /* Debug */,
				A9B53B421C3AC15200ABC6F6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
