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

/* Begin PBXBuildFile section */
		93824A161D24544A00F4851B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93824A151D24544A00F4851B /* AppDelegate.swift */; };
		93824A181D24544A00F4851B /* DiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93824A171D24544A00F4851B /* DiceViewController.swift */; };
		93824A1B1D24544A00F4851B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 93824A191D24544A00F4851B /* Main.storyboard */; };
		93824A1D1D24544A00F4851B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 93824A1C1D24544A00F4851B /* Assets.xcassets */; };
		93824A201D24544A00F4851B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 93824A1E1D24544A00F4851B /* LaunchScreen.storyboard */; };
		93824A381D24556B00F4851B /* Syncbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A2D1D24548A00F4851B /* Syncbase.framework */; };
		93824A391D24556B00F4851B /* Syncbase.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A2D1D24548A00F4851B /* Syncbase.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		93824A441D24556E00F4851B /* GoogleAppUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A3D1D24556E00F4851B /* GoogleAppUtilities.framework */; };
		93824A451D24556E00F4851B /* GoogleAuthUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A3E1D24556E00F4851B /* GoogleAuthUtilities.framework */; };
		93824A461D24556E00F4851B /* GoogleNetworkingUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A3F1D24556E00F4851B /* GoogleNetworkingUtilities.framework */; };
		93824A481D24556E00F4851B /* GoogleSignIn.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A411D24556E00F4851B /* GoogleSignIn.framework */; };
		93824A491D24556E00F4851B /* GoogleSymbolUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A421D24556E00F4851B /* GoogleSymbolUtilities.framework */; };
		93824A4A1D24556E00F4851B /* GoogleUtilities.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A431D24556E00F4851B /* GoogleUtilities.framework */; };
		93824A4D1D24559400F4851B /* GoogleSignIn.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 93824A401D24556E00F4851B /* GoogleSignIn.bundle */; };
		93824A4F1D2455DD00F4851B /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A4E1D2455DD00F4851B /* AddressBook.framework */; };
		93824A511D2455E200F4851B /* SafariServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A501D2455E200F4851B /* SafariServices.framework */; };
		93824A531D2455EA00F4851B /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A521D2455EA00F4851B /* SystemConfiguration.framework */; };
		93824A561D2458F000F4851B /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93824A551D2458F000F4851B /* LoginViewController.swift */; };
		93824A581D24611D00F4851B /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 93824A571D24611D00F4851B /* GoogleService-Info.plist */; };
		93824A5A1D24643600F4851B /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A591D24643600F4851B /* libz.tbd */; };
		93824A6D1D248F8E00F4851B /* SyncbaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A6A1D248F8000F4851B /* SyncbaseCore.framework */; };
		93824A6E1D248F8E00F4851B /* SyncbaseCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 93824A6A1D248F8000F4851B /* SyncbaseCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		93824A2C1D24548A00F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A271D24548A00F4851B /* Syncbase.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 9374F6741D010711004ECE59;
			remoteInfo = Syncbase;
		};
		93824A2E1D24548A00F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A271D24548A00F4851B /* Syncbase.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 9374F67E1D010711004ECE59;
			remoteInfo = SyncbaseTests;
		};
		93824A3A1D24556B00F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A271D24548A00F4851B /* Syncbase.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 9374F6731D010711004ECE59;
			remoteInfo = Syncbase;
		};
		93824A691D248F8000F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 30AD2DFF1CDD506700A28A0C;
			remoteInfo = SyncbaseCore;
		};
		93824A6B1D248F8000F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 30AD2E091CDD506700A28A0C;
			remoteInfo = SyncbaseCoreTests;
		};
		93824A6F1D248F8E00F4851B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 30AD2DFE1CDD506700A28A0C;
			remoteInfo = SyncbaseCore;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		93824A3C1D24556B00F4851B /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				93824A391D24556B00F4851B /* Syncbase.framework in Embed Frameworks */,
				93824A6E1D248F8E00F4851B /* SyncbaseCore.framework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		93824A121D24544A00F4851B /* Dice Roller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Dice Roller.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		93824A151D24544A00F4851B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		93824A171D24544A00F4851B /* DiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiceViewController.swift; sourceTree = "<group>"; };
		93824A1A1D24544A00F4851B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		93824A1C1D24544A00F4851B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		93824A1F1D24544A00F4851B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		93824A211D24544A00F4851B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93824A271D24548A00F4851B /* Syncbase.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Syncbase.xcodeproj; path = ../Syncbase.xcodeproj; sourceTree = "<group>"; };
		93824A3D1D24556E00F4851B /* GoogleAppUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleAppUtilities.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleAppUtilities.framework; sourceTree = "<group>"; };
		93824A3E1D24556E00F4851B /* GoogleAuthUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleAuthUtilities.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleAuthUtilities.framework; sourceTree = "<group>"; };
		93824A3F1D24556E00F4851B /* GoogleNetworkingUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleNetworkingUtilities.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleNetworkingUtilities.framework; sourceTree = "<group>"; };
		93824A401D24556E00F4851B /* GoogleSignIn.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = GoogleSignIn.bundle; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleSignIn.bundle; sourceTree = "<group>"; };
		93824A411D24556E00F4851B /* GoogleSignIn.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleSignIn.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleSignIn.framework; sourceTree = "<group>"; };
		93824A421D24556E00F4851B /* GoogleSymbolUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleSymbolUtilities.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleSymbolUtilities.framework; sourceTree = "<group>"; };
		93824A431D24556E00F4851B /* GoogleUtilities.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleUtilities.framework; path = ../../../../third_party/swift/google_signin_sdk_4_0_0/GoogleUtilities.framework; sourceTree = "<group>"; };
		93824A4E1D2455DD00F4851B /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
		93824A501D2455E200F4851B /* SafariServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SafariServices.framework; path = System/Library/Frameworks/SafariServices.framework; sourceTree = SDKROOT; };
		93824A521D2455EA00F4851B /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
		93824A551D2458F000F4851B /* LoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = "<group>"; };
		93824A571D24611D00F4851B /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Dice Roller/GoogleService-Info.plist"; sourceTree = "<group>"; };
		93824A591D24643600F4851B /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
		93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SyncbaseCore.xcodeproj; path = ../../SyncbaseCore/SyncbaseCore.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		93824A0F1D24544A00F4851B /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93824A5A1D24643600F4851B /* libz.tbd in Frameworks */,
				93824A381D24556B00F4851B /* Syncbase.framework in Frameworks */,
				93824A531D2455EA00F4851B /* SystemConfiguration.framework in Frameworks */,
				93824A511D2455E200F4851B /* SafariServices.framework in Frameworks */,
				93824A4F1D2455DD00F4851B /* AddressBook.framework in Frameworks */,
				93824A441D24556E00F4851B /* GoogleAppUtilities.framework in Frameworks */,
				93824A451D24556E00F4851B /* GoogleAuthUtilities.framework in Frameworks */,
				93824A461D24556E00F4851B /* GoogleNetworkingUtilities.framework in Frameworks */,
				93824A481D24556E00F4851B /* GoogleSignIn.framework in Frameworks */,
				93824A491D24556E00F4851B /* GoogleSymbolUtilities.framework in Frameworks */,
				93824A4A1D24556E00F4851B /* GoogleUtilities.framework in Frameworks */,
				93824A6D1D248F8E00F4851B /* SyncbaseCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		93824A091D24544A00F4851B = {
			isa = PBXGroup;
			children = (
				93824A141D24544A00F4851B /* Dice Roller */,
				93824A4C1D24557C00F4851B /* Frameworks */,
				93824A131D24544A00F4851B /* Products */,
			);
			sourceTree = "<group>";
		};
		93824A131D24544A00F4851B /* Products */ = {
			isa = PBXGroup;
			children = (
				93824A121D24544A00F4851B /* Dice Roller.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93824A141D24544A00F4851B /* Dice Roller */ = {
			isa = PBXGroup;
			children = (
				93824A211D24544A00F4851B /* Info.plist */,
				93824A151D24544A00F4851B /* AppDelegate.swift */,
				93824A171D24544A00F4851B /* DiceViewController.swift */,
				93824A551D2458F000F4851B /* LoginViewController.swift */,
				93824A1C1D24544A00F4851B /* Assets.xcassets */,
				93824A1E1D24544A00F4851B /* LaunchScreen.storyboard */,
				93824A191D24544A00F4851B /* Main.storyboard */,
			);
			path = "Dice Roller";
			sourceTree = "<group>";
		};
		93824A281D24548A00F4851B /* Products */ = {
			isa = PBXGroup;
			children = (
				93824A2D1D24548A00F4851B /* Syncbase.framework */,
				93824A2F1D24548A00F4851B /* SyncbaseTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93824A4B1D24557300F4851B /* Google Sign In */ = {
			isa = PBXGroup;
			children = (
				93824A401D24556E00F4851B /* GoogleSignIn.bundle */,
				93824A4E1D2455DD00F4851B /* AddressBook.framework */,
				93824A3D1D24556E00F4851B /* GoogleAppUtilities.framework */,
				93824A3E1D24556E00F4851B /* GoogleAuthUtilities.framework */,
				93824A3F1D24556E00F4851B /* GoogleNetworkingUtilities.framework */,
				93824A411D24556E00F4851B /* GoogleSignIn.framework */,
				93824A421D24556E00F4851B /* GoogleSymbolUtilities.framework */,
				93824A431D24556E00F4851B /* GoogleUtilities.framework */,
				93824A501D2455E200F4851B /* SafariServices.framework */,
				93824A521D2455EA00F4851B /* SystemConfiguration.framework */,
				93824A571D24611D00F4851B /* GoogleService-Info.plist */,
				93824A591D24643600F4851B /* libz.tbd */,
			);
			name = "Google Sign In";
			sourceTree = "<group>";
		};
		93824A4C1D24557C00F4851B /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				93824A4B1D24557300F4851B /* Google Sign In */,
				93824A271D24548A00F4851B /* Syncbase.xcodeproj */,
				93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		93824A651D248F7F00F4851B /* Products */ = {
			isa = PBXGroup;
			children = (
				93824A6A1D248F8000F4851B /* SyncbaseCore.framework */,
				93824A6C1D248F8000F4851B /* SyncbaseCoreTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		93824A111D24544A00F4851B /* Dice Roller */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93824A241D24544A00F4851B /* Build configuration list for PBXNativeTarget "Dice Roller" */;
			buildPhases = (
				93824A0E1D24544A00F4851B /* Sources */,
				93824A0F1D24544A00F4851B /* Frameworks */,
				93824A101D24544A00F4851B /* Resources */,
				93824A3C1D24556B00F4851B /* Embed Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				93824A3B1D24556B00F4851B /* PBXTargetDependency */,
				93824A701D248F8E00F4851B /* PBXTargetDependency */,
			);
			name = "Dice Roller";
			productName = "Dice Roller";
			productReference = 93824A121D24544A00F4851B /* Dice Roller.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		93824A0A1D24544A00F4851B /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 0730;
				ORGANIZATIONNAME = "Google, Inc.";
				TargetAttributes = {
					93824A111D24544A00F4851B = {
						CreatedOnToolsVersion = 7.3.1;
					};
				};
			};
			buildConfigurationList = 93824A0D1D24544A00F4851B /* Build configuration list for PBXProject "Dice Roller" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 93824A091D24544A00F4851B;
			productRefGroup = 93824A131D24544A00F4851B /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 93824A281D24548A00F4851B /* Products */;
					ProjectRef = 93824A271D24548A00F4851B /* Syncbase.xcodeproj */;
				},
				{
					ProductGroup = 93824A651D248F7F00F4851B /* Products */;
					ProjectRef = 93824A641D248F7F00F4851B /* SyncbaseCore.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				93824A111D24544A00F4851B /* Dice Roller */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		93824A2D1D24548A00F4851B /* Syncbase.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Syncbase.framework;
			remoteRef = 93824A2C1D24548A00F4851B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93824A2F1D24548A00F4851B /* SyncbaseTests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = SyncbaseTests.xctest;
			remoteRef = 93824A2E1D24548A00F4851B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93824A6A1D248F8000F4851B /* SyncbaseCore.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = SyncbaseCore.framework;
			remoteRef = 93824A691D248F8000F4851B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93824A6C1D248F8000F4851B /* SyncbaseCoreTests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = SyncbaseCoreTests.xctest;
			remoteRef = 93824A6B1D248F8000F4851B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		93824A101D24544A00F4851B /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93824A201D24544A00F4851B /* LaunchScreen.storyboard in Resources */,
				93824A1D1D24544A00F4851B /* Assets.xcassets in Resources */,
				93824A581D24611D00F4851B /* GoogleService-Info.plist in Resources */,
				93824A1B1D24544A00F4851B /* Main.storyboard in Resources */,
				93824A4D1D24559400F4851B /* GoogleSignIn.bundle in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		93824A0E1D24544A00F4851B /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93824A561D2458F000F4851B /* LoginViewController.swift in Sources */,
				93824A181D24544A00F4851B /* DiceViewController.swift in Sources */,
				93824A161D24544A00F4851B /* AppDelegate.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		93824A3B1D24556B00F4851B /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = Syncbase;
			targetProxy = 93824A3A1D24556B00F4851B /* PBXContainerItemProxy */;
		};
		93824A701D248F8E00F4851B /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = SyncbaseCore;
			targetProxy = 93824A6F1D248F8E00F4851B /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		93824A191D24544A00F4851B /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				93824A1A1D24544A00F4851B /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		93824A1E1D24544A00F4851B /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				93824A1F1D24544A00F4851B /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		93824A221D24544A00F4851B /* 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_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				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_BITCODE = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = $SRCROOT/../../../../third_party/swift/google_signin_sdk_4_0_0;
				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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = (
					"$(OTHER_LDFLAGS)",
					"-ObjC",
				);
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		93824A231D24544A00F4851B /* 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_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				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_BITCODE = NO;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				FRAMEWORK_SEARCH_PATHS = $SRCROOT/../../../../third_party/swift/google_signin_sdk_4_0_0;
				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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_LDFLAGS = (
					"$(OTHER_LDFLAGS)",
					"-ObjC",
				);
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		93824A251D24544A00F4851B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
				INFOPLIST_FILE = "Dice Roller/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.DiceRoller;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		93824A261D24544A00F4851B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
				INFOPLIST_FILE = "Dice Roller/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.DiceRoller;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		93824A0D1D24544A00F4851B /* Build configuration list for PBXProject "Dice Roller" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93824A221D24544A00F4851B /* Debug */,
				93824A231D24544A00F4851B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93824A241D24544A00F4851B /* Build configuration list for PBXNativeTarget "Dice Roller" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93824A251D24544A00F4851B /* Debug */,
				93824A261D24544A00F4851B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 93824A0A1D24544A00F4851B /* Project object */;
}
