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

/* Begin PBXBuildFile section */
		23562ED61D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */; };
		23562ED71D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */; };
		26CE05C5115C36590022F371 /* CFBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */; };
		456F67641AD46CE9002850C2 /* CFBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */; };
		26CE05C3115C36580022F371 /* CFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD9B0D3EC160007E4CA2 /* CFString.cpp */; };
		456F67621AD46CE9002850C2 /* CFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2695DD9B0D3EC160007E4CA2 /* CFString.cpp */; };
		26CE05CF115C36F70022F371 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26ACA3340D3E956300A2120B /* CoreFoundation.framework */; settings = {ATTRIBUTES = (Required, ); }; };
		456F676B1AD46CE9002850C2 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26ACA3340D3E956300A2120B /* CoreFoundation.framework */; settings = {ATTRIBUTES = (Required, ); }; };
		26CE05B7115C363B0022F371 /* DNB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D60C71334A0024798E /* DNB.cpp */; };
		456F67551AD46CE9002850C2 /* DNB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D60C71334A0024798E /* DNB.cpp */; };
		264D5D581293835600ED4C01 /* DNBArch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264D5D571293835600ED4C01 /* DNBArch.cpp */; };
		456F67671AD46CE9002850C2 /* DNBArch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 264D5D571293835600ED4C01 /* DNBArch.cpp */; };
		26CE05C1115C36510022F371 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */; };
		26CE05C2115C36550022F371 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FB0C71334A0024798E /* DNBArchImpl.cpp */; };
		456F67601AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */; };
		456F67611AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FB0C71334A0024798E /* DNBArchImpl.cpp */; };
		266B5ED11460A68200E43F0A /* DNBArchImplARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */; };
		456F67691AD46CE9002850C2 /* DNBArchImplARM64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */; };
		26CE05C0115C364F0022F371 /* DNBArchImplI386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */; };
		456F675F1AD46CE9002850C2 /* DNBArchImplI386.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */; };
		26CE05BF115C364D0022F371 /* DNBArchImplX86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */; };
		456F675E1AD46CE9002850C2 /* DNBArchImplX86_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */; };
		26CE05B8115C363C0022F371 /* DNBBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D90C71334A0024798E /* DNBBreakpoint.cpp */; };
		456F67571AD46CE9002850C2 /* DNBBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637D90C71334A0024798E /* DNBBreakpoint.cpp */; };
		26CE05B9115C363D0022F371 /* DNBDataRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DB0C71334A0024798E /* DNBDataRef.cpp */; };
		456F67581AD46CE9002850C2 /* DNBDataRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DB0C71334A0024798E /* DNBDataRef.cpp */; };
		26CE05A7115C360D0022F371 /* DNBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DE0C71334A0024798E /* DNBError.cpp */; };
		456F67461AD46CE9002850C2 /* DNBError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637DE0C71334A0024798E /* DNBError.cpp */; };
		26CE05BA115C363E0022F371 /* DNBLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E00C71334A0024798E /* DNBLog.cpp */; };
		456F67591AD46CE9002850C2 /* DNBLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E00C71334A0024798E /* DNBLog.cpp */; };
		26CE05BB115C363F0022F371 /* DNBRegisterInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */; };
		456F675A1AD46CE9002850C2 /* DNBRegisterInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */; };
		26CE05A8115C36170022F371 /* DNBThreadResumeActions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */; };
		456F67471AD46CE9002850C2 /* DNBThreadResumeActions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */; };
		23AE72E41D25DECF00945BCE /* DarwinLogCollector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */; };
		23AE72E51D25DEE100945BCE /* DarwinLogCollector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */; };
		49D404621E39260F00570CDC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49D404611E39260F00570CDC /* Foundation.framework */; };
		AFA3FCA11E39984900218D5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49D404611E39260F00570CDC /* Foundation.framework */; };
		456F67561AD46CE9002850C2 /* Genealogy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */; };
		AFEC3364194A8B0B00FF05C6 /* Genealogy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */; };
		23043C9D1D35DBEC00FC25CA /* JSON.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA51D2DB54300E98261 /* JSON.cpp */; };
		233B4EA71D2DB54300E98261 /* JSON.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA51D2DB54300E98261 /* JSON.cpp */; };
		23AC04C61D2F41A00072351D /* LogFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C41D2F41A00072351D /* LogFilter.cpp */; };
		23AC04C71D2F41A00072351D /* LogFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C41D2F41A00072351D /* LogFilter.cpp */; };
		23AC04CA1D2F42250072351D /* LogFilterChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C81D2F42250072351D /* LogFilterChain.cpp */; };
		23AC04CB1D2F42250072351D /* LogFilterChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04C81D2F42250072351D /* LogFilterChain.cpp */; };
		2307CCCB1D4A5D630016ABC0 /* LogFilterExactMatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */; };
		237821B01D4917D20028B7A1 /* LogFilterExactMatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */; };
		23AC04CF1D2F58AF0072351D /* LogFilterRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */; };
		23AC04D01D2F58AF0072351D /* LogFilterRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */; };
		23562ED91D342B0000AB2BD4 /* LogMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED81D342B0000AB2BD4 /* LogMessage.cpp */; };
		23562EDA1D342B0000AB2BD4 /* LogMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED81D342B0000AB2BD4 /* LogMessage.cpp */; };
		23562ED21D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */; };
		23562ED31D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */; };
		26CE05B0115C36340022F371 /* MachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EE0C71334A0024798E /* MachException.cpp */; };
		456F674E1AD46CE9002850C2 /* MachException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637EE0C71334A0024798E /* MachException.cpp */; };
		26CE05B1115C36350022F371 /* MachProcess.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F00C71334A0024798E /* MachProcess.mm */; };
		456F674F1AD46CE9002850C2 /* MachProcess.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F00C71334A0024798E /* MachProcess.mm */; };
		26CE05B6115C36390022F371 /* MachTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26B67DE10EE9BC30006C8BC0 /* MachTask.mm */; };
		456F67541AD46CE9002850C2 /* MachTask.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26B67DE10EE9BC30006C8BC0 /* MachTask.mm */; };
		26CE05B2115C36360022F371 /* MachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F20C71334A0024798E /* MachThread.cpp */; };
		456F67501AD46CE9002850C2 /* MachThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F20C71334A0024798E /* MachThread.cpp */; };
		26CE05B3115C36370022F371 /* MachThreadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F40C71334A0024798E /* MachThreadList.cpp */; };
		456F67511AD46CE9002850C2 /* MachThreadList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F40C71334A0024798E /* MachThreadList.cpp */; };
		26CE05B4115C36380022F371 /* MachVMMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F60C71334A0024798E /* MachVMMemory.cpp */; };
		456F67521AD46CE9002850C2 /* MachVMMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F60C71334A0024798E /* MachVMMemory.cpp */; };
		26CE05B5115C36380022F371 /* MachVMRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F80C71334A0024798E /* MachVMRegion.cpp */; };
		456F67531AD46CE9002850C2 /* MachVMRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637F80C71334A0024798E /* MachVMRegion.cpp */; };
		23D1B0291D497E8B00FF831B /* OsLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23D1B0271D497E8B00FF831B /* OsLogger.cpp */; };
		23D1B02A1D497E8B00FF831B /* OsLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 23D1B0271D497E8B00FF831B /* OsLogger.cpp */; };
		26CE05BC115C36420022F371 /* PThreadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FE0C71334A0024798E /* PThreadEvent.cpp */; };
		456F675B1AD46CE9002850C2 /* PThreadEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C637FE0C71334A0024798E /* PThreadEvent.cpp */; };
		26CE05BD115C36430022F371 /* PThreadMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */; };
		456F675C1AD46CE9002850C2 /* PThreadMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */; };
		26CE05F1115C387C0022F371 /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */; };
		456F67651AD46CE9002850C2 /* PseudoTerminal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */; };
		26CE05AA115C36260022F371 /* RNBContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68F7E0D104EC800665A9E /* RNBContext.cpp */; };
		456F67491AD46CE9002850C2 /* RNBContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68F7E0D104EC800665A9E /* RNBContext.cpp */; };
		26CE05AD115C36280022F371 /* RNBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FD60D10574500665A9E /* RNBRemote.cpp */; };
		456F674C1AD46CE9002850C2 /* RNBRemote.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FD60D10574500665A9E /* RNBRemote.cpp */; };
		26CE05AB115C36270022F371 /* RNBServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF8878A00D9C797C001831DA /* RNBServices.cpp */; };
		456F674A1AD46CE9002850C2 /* RNBServices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF8878A00D9C797C001831DA /* RNBServices.cpp */; };
		26CE05AC115C36280022F371 /* RNBSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FB00D1054DA00665A9E /* RNBSocket.cpp */; };
		456F674B1AD46CE9002850C2 /* RNBSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A68FB00D1054DA00665A9E /* RNBSocket.cpp */; };
		AF588449206077BD00A0CB5A /* SocketAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */; };
		D6631CA91E848FE9006A7B11 /* SocketAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */; };
		AF48558C1D75126800D19C07 /* StdStringExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */; };
		AF48558D1D75127500D19C07 /* StdStringExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */; };
		23043C9E1D35DBFA00FC25CA /* StringConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA81D2DB96A00E98261 /* StringConvert.cpp */; };
		233B4EA91D2DB96A00E98261 /* StringConvert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 233B4EA81D2DB96A00E98261 /* StringConvert.cpp */; };
		26CE05BE115C36440022F371 /* SysSignal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C638010C71334A0024798E /* SysSignal.cpp */; };
		456F675D1AD46CE9002850C2 /* SysSignal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26C638010C71334A0024798E /* SysSignal.cpp */; };
		26CE05AE115C36320022F371 /* dbgnub-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E80C71334A0024798E /* dbgnub-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
		456F674D1AD46CE9002850C2 /* dbgnub-mig.defs in Sources */ = {isa = PBXBuildFile; fileRef = 26C637E80C71334A0024798E /* dbgnub-mig.defs */; settings = {ATTRIBUTES = (Client, Server, ); }; };
		26CE05A9115C36250022F371 /* debugserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A02918114AB9240029C479 /* debugserver.cpp */; };
		456F67481AD46CE9002850C2 /* debugserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26A02918114AB9240029C479 /* debugserver.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActivityStore.cpp; sourceTree = "<group>"; };
		23562ED41D3426DD00AB2BD4 /* ActivityStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityStore.h; sourceTree = "<group>"; };
		23AE72E61D25DEFB00945BCE /* ActivityStreamSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ActivityStreamSPI.h; sourceTree = "<group>"; };
		2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CFBundle.cpp; sourceTree = "<group>"; };
		2695DD920D3EBFF6007E4CA2 /* CFBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFBundle.h; sourceTree = "<group>"; };
		2695DD9B0D3EC160007E4CA2 /* CFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CFString.cpp; sourceTree = "<group>"; };
		2695DD9A0D3EC160007E4CA2 /* CFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFString.h; sourceTree = "<group>"; };
		26C637E70C71334A0024798E /* CFUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CFUtils.h; sourceTree = "<group>"; };
		2307CCCC1D4A5DAE0016ABC0 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		237821AD1D4917D20028B7A1 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		26593A060D4931CC001C9FE3 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
		26ACA3340D3E956300A2120B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
		26C637D60C71334A0024798E /* DNB.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNB.cpp; sourceTree = "<group>"; };
		26C637D70C71334A0024798E /* DNB.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNB.h; sourceTree = "<group>"; };
		264D5D571293835600ED4C01 /* DNBArch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArch.cpp; sourceTree = "<group>"; };
		26C637D80C71334A0024798E /* DNBArch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBArch.h; sourceTree = "<group>"; };
		2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = DNBArchImpl.cpp; path = arm/DNBArchImpl.cpp; sourceTree = "<group>"; };
		26C637FB0C71334A0024798E /* DNBArchImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImpl.cpp; sourceTree = "<group>"; };
		2675D4230CCEB705000F49AF /* DNBArchImpl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DNBArchImpl.h; path = arm/DNBArchImpl.h; sourceTree = "<group>"; };
		26C637FC0C71334A0024798E /* DNBArchImpl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBArchImpl.h; sourceTree = "<group>"; };
		266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplARM64.cpp; sourceTree = "<group>"; };
		266B5ED01460A68200E43F0A /* DNBArchImplARM64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBArchImplARM64.h; sourceTree = "<group>"; };
		26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplI386.cpp; sourceTree = "<group>"; };
		26C637EB0C71334A0024798E /* DNBArchImplI386.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBArchImplI386.h; sourceTree = "<group>"; };
		26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBArchImplX86_64.cpp; sourceTree = "<group>"; };
		26CF99A31142EB7400011AAB /* DNBArchImplX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBArchImplX86_64.h; sourceTree = "<group>"; };
		26C637D90C71334A0024798E /* DNBBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBBreakpoint.cpp; sourceTree = "<group>"; };
		26C637DA0C71334A0024798E /* DNBBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBBreakpoint.h; sourceTree = "<group>"; };
		26C637DB0C71334A0024798E /* DNBDataRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBDataRef.cpp; sourceTree = "<group>"; };
		26C637DC0C71334A0024798E /* DNBDataRef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBDataRef.h; sourceTree = "<group>"; };
		26C637DD0C71334A0024798E /* DNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DNBDefs.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		26C637DE0C71334A0024798E /* DNBError.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBError.cpp; sourceTree = "<group>"; };
		26C637DF0C71334A0024798E /* DNBError.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBError.h; sourceTree = "<group>"; };
		26C637E00C71334A0024798E /* DNBLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBLog.cpp; sourceTree = "<group>"; };
		26C637E10C71334A0024798E /* DNBLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBLog.h; sourceTree = "<group>"; };
		26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DNBRegisterInfo.cpp; sourceTree = "<group>"; };
		26C637E30C71334A0024798E /* DNBRegisterInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DNBRegisterInfo.h; sourceTree = "<group>"; };
		260828DE0CBAF7F400F95054 /* DNBRuntimeAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBRuntimeAction.h; sourceTree = "<group>"; };
		260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNBThreadResumeActions.cpp; sourceTree = "<group>"; };
		260E7332114BFFE600D1DFB3 /* DNBThreadResumeActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBThreadResumeActions.h; sourceTree = "<group>"; };
		26A8FE1E0D11A77B00203048 /* DNBTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNBTimer.h; sourceTree = "<group>"; };
		23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DarwinLogCollector.cpp; sourceTree = "<group>"; };
		23AE72E31D25DECF00945BCE /* DarwinLogCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DarwinLogCollector.h; sourceTree = "<group>"; };
		23CF6F5E1D28A3760088ADC9 /* DarwinLogEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogEvent.h; sourceTree = "<group>"; };
		23AC04CC1D2F42F10072351D /* DarwinLogInterfaces.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogInterfaces.h; sourceTree = "<group>"; };
		23562ECF1D34110D00AB2BD4 /* DarwinLogTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DarwinLogTypes.h; sourceTree = "<group>"; };
		49D404611E39260F00570CDC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Genealogy.cpp; sourceTree = "<group>"; };
		AF0934BA18E12B92005A11FD /* Genealogy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Genealogy.h; sourceTree = "<group>"; };
		AF0934BB18E12B92005A11FD /* GenealogySPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GenealogySPI.h; sourceTree = "<group>"; };
		233B4EA51D2DB54300E98261 /* JSON.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSON.cpp; sourceTree = "<group>"; };
		233B4EA61D2DB54300E98261 /* JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSON.h; sourceTree = "<group>"; };
		264F679A1B2F9EB200140093 /* JSONGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSONGenerator.h; sourceTree = "<group>"; };
		23AC04C41D2F41A00072351D /* LogFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilter.cpp; sourceTree = "<group>"; };
		23AC04C51D2F41A00072351D /* LogFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilter.h; sourceTree = "<group>"; };
		23AC04C81D2F42250072351D /* LogFilterChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterChain.cpp; sourceTree = "<group>"; };
		23AC04C91D2F42250072351D /* LogFilterChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterChain.h; sourceTree = "<group>"; };
		237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterExactMatch.cpp; sourceTree = "<group>"; };
		237821AF1D4917D20028B7A1 /* LogFilterExactMatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterExactMatch.h; sourceTree = "<group>"; };
		23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogFilterRegex.cpp; sourceTree = "<group>"; };
		23AC04CE1D2F58AF0072351D /* LogFilterRegex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFilterRegex.h; sourceTree = "<group>"; };
		23562ED81D342B0000AB2BD4 /* LogMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogMessage.cpp; sourceTree = "<group>"; };
		23AC04D11D2F60130072351D /* LogMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogMessage.h; sourceTree = "<group>"; };
		23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LogMessageOsLog.cpp; sourceTree = "<group>"; };
		23562ED11D3424DF00AB2BD4 /* LogMessageOsLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogMessageOsLog.h; sourceTree = "<group>"; };
		26C637EE0C71334A0024798E /* MachException.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachException.cpp; sourceTree = "<group>"; };
		26C637EF0C71334A0024798E /* MachException.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachException.h; sourceTree = "<group>"; };
		26C637F10C71334A0024798E /* MachProcess.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachProcess.h; sourceTree = "<group>"; };
		26C637F00C71334A0024798E /* MachProcess.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = MachProcess.mm; sourceTree = "<group>"; };
		49F530111331519C008956F6 /* MachRegisterStatesI386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachRegisterStatesI386.h; sourceTree = "<group>"; };
		49F5301213316D7F008956F6 /* MachRegisterStatesX86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachRegisterStatesX86_64.h; sourceTree = "<group>"; };
		26B67DE00EE9BC30006C8BC0 /* MachTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachTask.h; sourceTree = "<group>"; };
		26B67DE10EE9BC30006C8BC0 /* MachTask.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MachTask.mm; sourceTree = "<group>"; };
		26C637F20C71334A0024798E /* MachThread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachThread.cpp; sourceTree = "<group>"; };
		26C637F30C71334A0024798E /* MachThread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachThread.h; sourceTree = "<group>"; };
		26C637F40C71334A0024798E /* MachThreadList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachThreadList.cpp; sourceTree = "<group>"; };
		26C637F50C71334A0024798E /* MachThreadList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachThreadList.h; sourceTree = "<group>"; };
		26C637F60C71334A0024798E /* MachVMMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMMemory.cpp; sourceTree = "<group>"; };
		26C637F70C71334A0024798E /* MachVMMemory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachVMMemory.h; sourceTree = "<group>"; };
		26C637F80C71334A0024798E /* MachVMRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MachVMRegion.cpp; sourceTree = "<group>"; };
		26C637F90C71334A0024798E /* MachVMRegion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MachVMRegion.h; sourceTree = "<group>"; };
		23D1B0271D497E8B00FF831B /* OsLogger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OsLogger.cpp; sourceTree = "<group>"; };
		23D1B0281D497E8B00FF831B /* OsLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OsLogger.h; sourceTree = "<group>"; };
		26C637FD0C71334A0024798E /* PThreadCondition.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadCondition.h; sourceTree = "<group>"; };
		26C637FE0C71334A0024798E /* PThreadEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PThreadEvent.cpp; sourceTree = "<group>"; };
		26C637FF0C71334A0024798E /* PThreadEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadEvent.h; sourceTree = "<group>"; };
		2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PThreadMutex.cpp; sourceTree = "<group>"; };
		26C638000C71334A0024798E /* PThreadMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PThreadMutex.h; sourceTree = "<group>"; };
		AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PseudoTerminal.cpp; sourceTree = "<group>"; };
		AF67AC000D34604D0022D128 /* PseudoTerminal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PseudoTerminal.h; sourceTree = "<group>"; };
		26A68F7E0D104EC800665A9E /* RNBContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBContext.cpp; sourceTree = "<group>"; };
		26A68F7D0D104EC800665A9E /* RNBContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBContext.h; sourceTree = "<group>"; };
		26E6B9DA0D1329010037ECDD /* RNBDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBDefs.h; sourceTree = "<group>"; };
		26A68FD60D10574500665A9E /* RNBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBRemote.cpp; sourceTree = "<group>"; };
		26A68FD50D10574500665A9E /* RNBRemote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBRemote.h; sourceTree = "<group>"; };
		EF8878A00D9C797C001831DA /* RNBServices.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBServices.cpp; sourceTree = "<group>"; };
		EF88789F0D9C797C001831DA /* RNBServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBServices.h; sourceTree = "<group>"; };
		26A68FB00D1054DA00665A9E /* RNBSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RNBSocket.cpp; sourceTree = "<group>"; };
		26A68FAF0D1054DA00665A9E /* RNBSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBSocket.h; sourceTree = "<group>"; };
		D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SocketAddress.cpp; path = ../../source/Host/common/SocketAddress.cpp; sourceTree = "<group>"; };
		AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StdStringExtractor.cpp; sourceTree = "<group>"; };
		233B4EA81D2DB96A00E98261 /* StringConvert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringConvert.cpp; path = ../../../source/Host/common/StringConvert.cpp; sourceTree = "<group>"; };
		26C638010C71334A0024798E /* SysSignal.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SysSignal.cpp; sourceTree = "<group>"; };
		26C638020C71334A0024798E /* SysSignal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SysSignal.h; sourceTree = "<group>"; };
		26C638050C71334A0024798E /* TTYState.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TTYState.cpp; sourceTree = "<group>"; };
		26C638060C71334A0024798E /* TTYState.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TTYState.h; sourceTree = "<group>"; };
		26203D1C1641EFB200A662F7 /* com.apple.debugserver.applist.internal.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.applist.internal.plist; sourceTree = "<group>"; };
		EF88788B0D9C7558001831DA /* com.apple.debugserver.applist.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.applist.plist; sourceTree = "<group>"; };
		26203D1D1641EFB200A662F7 /* com.apple.debugserver.internal.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.internal.plist; sourceTree = "<group>"; };
		26A4BAED0D498B7D00A9BEAB /* com.apple.debugserver.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.plist; sourceTree = "<group>"; };
		269E8DF8164B2ED200AD65F6 /* com.apple.debugserver.posix.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = com.apple.debugserver.posix.plist; sourceTree = "<group>"; };
		AF949ED620605DC2002A91F9 /* com.apple.internal.xpc.remote.debugserver.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = com.apple.internal.xpc.remote.debugserver.plist; sourceTree = "<group>"; };
		26C637E80C71334A0024798E /* dbgnub-mig.defs */ = {isa = PBXFileReference; explicitFileType = sourcecode.mig; fileEncoding = 30; path = "dbgnub-mig.defs"; sourceTree = "<group>"; };
		260FC7320E5B290400043FC9 /* debugnub-exports */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "debugnub-exports"; sourceTree = SOURCE_ROOT; };
		26CE0594115C31C20022F371 /* debugserver */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = debugserver; sourceTree = BUILT_PRODUCTS_DIR; };
		26242C390DDBD33C0054A4CC /* debugserver-entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "debugserver-entitlements.plist"; sourceTree = "<group>"; };
		AF61C60418F75ABC00B48D9D /* debugserver-macosx-entitlements.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "debugserver-macosx-entitlements.plist"; sourceTree = "<group>"; };
		456F67721AD46CE9002850C2 /* debugserver-nonui */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "debugserver-nonui"; sourceTree = BUILT_PRODUCTS_DIR; };
		26A02918114AB9240029C479 /* debugserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debugserver.cpp; sourceTree = "<group>"; };
		9457ECF61419864100DFE7D8 /* stack_logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stack_logging.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		26CE0592115C31C20022F371 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				49D404621E39260F00570CDC /* Foundation.framework in Frameworks */,
				26CE05CF115C36F70022F371 /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		456F676A1AD46CE9002850C2 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				456F676B1AD46CE9002850C2 /* CoreFoundation.framework in Frameworks */,
				AFA3FCA11E39984900218D5E /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		08FB7794FE84155DC02AAC07 /* dbgnub */ = {
			isa = PBXGroup;
			children = (
				D6631CA81E848FE9006A7B11 /* SocketAddress.cpp */,
				26ACA3330D3E94F200A2120B /* Framework */,
				26C637D50C71334A0024798E /* source */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
				49D404601E39260F00570CDC /* Frameworks */,
			);
			name = dbgnub;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				26CE0594115C31C20022F371 /* debugserver */,
				456F67721AD46CE9002850C2 /* debugserver-nonui */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		23AC04C31D2F3E9A0072351D /* DarwinLog */ = {
			isa = PBXGroup;
			children = (
				237821AD1D4917D20028B7A1 /* CMakeLists.txt */,
				23562ED41D3426DD00AB2BD4 /* ActivityStore.h */,
				23562ED51D342A5A00AB2BD4 /* ActivityStore.cpp */,
				23AE72E61D25DEFB00945BCE /* ActivityStreamSPI.h */,
				23AE72E31D25DECF00945BCE /* DarwinLogCollector.h */,
				23AE72E21D25DECF00945BCE /* DarwinLogCollector.cpp */,
				23CF6F5E1D28A3760088ADC9 /* DarwinLogEvent.h */,
				23AC04CC1D2F42F10072351D /* DarwinLogInterfaces.h */,
				23562ECF1D34110D00AB2BD4 /* DarwinLogTypes.h */,
				23AC04C51D2F41A00072351D /* LogFilter.h */,
				23AC04C41D2F41A00072351D /* LogFilter.cpp */,
				23AC04C91D2F42250072351D /* LogFilterChain.h */,
				23AC04C81D2F42250072351D /* LogFilterChain.cpp */,
				237821AF1D4917D20028B7A1 /* LogFilterExactMatch.h */,
				237821AE1D4917D20028B7A1 /* LogFilterExactMatch.cpp */,
				23AC04CE1D2F58AF0072351D /* LogFilterRegex.h */,
				23AC04CD1D2F58AF0072351D /* LogFilterRegex.cpp */,
				23AC04D11D2F60130072351D /* LogMessage.h */,
				23562ED81D342B0000AB2BD4 /* LogMessage.cpp */,
				23562ED11D3424DF00AB2BD4 /* LogMessageOsLog.h */,
				23562ED01D3424DF00AB2BD4 /* LogMessageOsLog.cpp */,
			);
			path = DarwinLog;
			sourceTree = "<group>";
		};
		266B5ECE1460A68200E43F0A /* arm64 */ = {
			isa = PBXGroup;
			children = (
				266B5ECF1460A68200E43F0A /* DNBArchImplARM64.cpp */,
				266B5ED01460A68200E43F0A /* DNBArchImplARM64.h */,
			);
			path = arm64;
			sourceTree = "<group>";
		};
		2675D41C0CCEB6CF000F49AF /* arm */ = {
			isa = PBXGroup;
			children = (
				2675D4220CCEB705000F49AF /* DNBArchImpl.cpp */,
				2675D4230CCEB705000F49AF /* DNBArchImpl.h */,
			);
			name = arm;
			sourceTree = "<group>";
		};
		26A028FE114AB6A60029C479 /* Resources */ = {
			isa = PBXGroup;
			children = (
				26A4BAED0D498B7D00A9BEAB /* com.apple.debugserver.plist */,
				EF88788B0D9C7558001831DA /* com.apple.debugserver.applist.plist */,
				269E8DF8164B2ED200AD65F6 /* com.apple.debugserver.posix.plist */,
				26203D1C1641EFB200A662F7 /* com.apple.debugserver.applist.internal.plist */,
				26203D1D1641EFB200A662F7 /* com.apple.debugserver.internal.plist */,
				AF949ED620605DC2002A91F9 /* com.apple.internal.xpc.remote.debugserver.plist */,
				260FC7320E5B290400043FC9 /* debugnub-exports */,
				26242C390DDBD33C0054A4CC /* debugserver-entitlements.plist */,
				AF61C60418F75ABC00B48D9D /* debugserver-macosx-entitlements.plist */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		26A028FF114AB6BB0029C479 /* libdebugnub */ = {
			isa = PBXGroup;
			children = (
				26C637E60C71334A0024798E /* MacOSX */,
				260828DE0CBAF7F400F95054 /* DNBRuntimeAction.h */,
				26A8FE1E0D11A77B00203048 /* DNBTimer.h */,
				26C637D70C71334A0024798E /* DNB.h */,
				26C637D60C71334A0024798E /* DNB.cpp */,
				26C637D80C71334A0024798E /* DNBArch.h */,
				264D5D571293835600ED4C01 /* DNBArch.cpp */,
				26C637DA0C71334A0024798E /* DNBBreakpoint.h */,
				26C637D90C71334A0024798E /* DNBBreakpoint.cpp */,
				26C637DC0C71334A0024798E /* DNBDataRef.h */,
				26C637DB0C71334A0024798E /* DNBDataRef.cpp */,
				26C637DD0C71334A0024798E /* DNBDefs.h */,
				26C637DF0C71334A0024798E /* DNBError.h */,
				26C637DE0C71334A0024798E /* DNBError.cpp */,
				26C637E10C71334A0024798E /* DNBLog.h */,
				26C637E00C71334A0024798E /* DNBLog.cpp */,
				26C637E30C71334A0024798E /* DNBRegisterInfo.h */,
				26C637E20C71334A0024798E /* DNBRegisterInfo.cpp */,
				260E7332114BFFE600D1DFB3 /* DNBThreadResumeActions.h */,
				260E7331114BFFE600D1DFB3 /* DNBThreadResumeActions.cpp */,
				233B4EA61D2DB54300E98261 /* JSON.h */,
				233B4EA51D2DB54300E98261 /* JSON.cpp */,
				264F679A1B2F9EB200140093 /* JSONGenerator.h */,
				AF67AC000D34604D0022D128 /* PseudoTerminal.h */,
				AF67ABFF0D34604D0022D128 /* PseudoTerminal.cpp */,
				26C637FD0C71334A0024798E /* PThreadCondition.h */,
				26C637FF0C71334A0024798E /* PThreadEvent.h */,
				26C637FE0C71334A0024798E /* PThreadEvent.cpp */,
				26C638000C71334A0024798E /* PThreadMutex.h */,
				2672DBEE0EEF446700E92059 /* PThreadMutex.cpp */,
				233B4EA81D2DB96A00E98261 /* StringConvert.cpp */,
				26C638020C71334A0024798E /* SysSignal.h */,
				26C638010C71334A0024798E /* SysSignal.cpp */,
				26C638060C71334A0024798E /* TTYState.h */,
				26C638050C71334A0024798E /* TTYState.cpp */,
			);
			name = libdebugnub;
			sourceTree = "<group>";
		};
		26ACA3330D3E94F200A2120B /* Framework */ = {
			isa = PBXGroup;
			children = (
				26ACA3340D3E956300A2120B /* CoreFoundation.framework */,
			);
			name = Framework;
			sourceTree = "<group>";
		};
		26C637D50C71334A0024798E /* source */ = {
			isa = PBXGroup;
			children = (
				26593A060D4931CC001C9FE3 /* ChangeLog */,
				26DEFD6C0D104C23008A5A07 /* debugserver */,
				26A028FF114AB6BB0029C479 /* libdebugnub */,
			);
			indentWidth = 4;
			path = source;
			sourceTree = "<group>";
			tabWidth = 4;
			usesTabs = 0;
		};
		26C637E60C71334A0024798E /* MacOSX */ = {
			isa = PBXGroup;
			children = (
				23AC04C31D2F3E9A0072351D /* DarwinLog */,
				2695DD920D3EBFF6007E4CA2 /* CFBundle.h */,
				2695DD910D3EBFF6007E4CA2 /* CFBundle.cpp */,
				2695DD9A0D3EC160007E4CA2 /* CFString.h */,
				2695DD9B0D3EC160007E4CA2 /* CFString.cpp */,
				26C637E70C71334A0024798E /* CFUtils.h */,
				2307CCCC1D4A5DAE0016ABC0 /* CMakeLists.txt */,
				2675D41C0CCEB6CF000F49AF /* arm */,
				266B5ECE1460A68200E43F0A /* arm64 */,
				26C637E90C71334A0024798E /* i386 */,
				26C637FA0C71334A0024798E /* ppc */,
				26CF99A11142EB7400011AAB /* x86_64 */,
				26C637E80C71334A0024798E /* dbgnub-mig.defs */,
				AFEC3363194A8B0B00FF05C6 /* Genealogy.cpp */,
				AF0934BA18E12B92005A11FD /* Genealogy.h */,
				AF0934BB18E12B92005A11FD /* GenealogySPI.h */,
				26C637EF0C71334A0024798E /* MachException.h */,
				26C637EE0C71334A0024798E /* MachException.cpp */,
				26C637F10C71334A0024798E /* MachProcess.h */,
				26C637F00C71334A0024798E /* MachProcess.mm */,
				26C637F30C71334A0024798E /* MachThread.h */,
				26C637F20C71334A0024798E /* MachThread.cpp */,
				26C637F50C71334A0024798E /* MachThreadList.h */,
				26C637F40C71334A0024798E /* MachThreadList.cpp */,
				26C637F70C71334A0024798E /* MachVMMemory.h */,
				26C637F60C71334A0024798E /* MachVMMemory.cpp */,
				26C637F90C71334A0024798E /* MachVMRegion.h */,
				26C637F80C71334A0024798E /* MachVMRegion.cpp */,
				26B67DE00EE9BC30006C8BC0 /* MachTask.h */,
				26B67DE10EE9BC30006C8BC0 /* MachTask.mm */,
				23D1B0281D497E8B00FF831B /* OsLogger.h */,
				23D1B0271D497E8B00FF831B /* OsLogger.cpp */,
				9457ECF61419864100DFE7D8 /* stack_logging.h */,
			);
			path = MacOSX;
			sourceTree = "<group>";
		};
		26C637E90C71334A0024798E /* i386 */ = {
			isa = PBXGroup;
			children = (
				26C637EA0C71334A0024798E /* DNBArchImplI386.cpp */,
				26C637EB0C71334A0024798E /* DNBArchImplI386.h */,
				49F530111331519C008956F6 /* MachRegisterStatesI386.h */,
			);
			path = i386;
			sourceTree = "<group>";
		};
		26C637FA0C71334A0024798E /* ppc */ = {
			isa = PBXGroup;
			children = (
				26C637FB0C71334A0024798E /* DNBArchImpl.cpp */,
				26C637FC0C71334A0024798E /* DNBArchImpl.h */,
			);
			path = ppc;
			sourceTree = "<group>";
		};
		26CF99A11142EB7400011AAB /* x86_64 */ = {
			isa = PBXGroup;
			children = (
				26CF99A21142EB7400011AAB /* DNBArchImplX86_64.cpp */,
				26CF99A31142EB7400011AAB /* DNBArchImplX86_64.h */,
				49F5301213316D7F008956F6 /* MachRegisterStatesX86_64.h */,
			);
			path = x86_64;
			sourceTree = "<group>";
		};
		26DEFD6C0D104C23008A5A07 /* debugserver */ = {
			isa = PBXGroup;
			children = (
				26A02918114AB9240029C479 /* debugserver.cpp */,
				26A028FE114AB6A60029C479 /* Resources */,
				26A68F7D0D104EC800665A9E /* RNBContext.h */,
				26A68F7E0D104EC800665A9E /* RNBContext.cpp */,
				EF88789F0D9C797C001831DA /* RNBServices.h */,
				EF8878A00D9C797C001831DA /* RNBServices.cpp */,
				26A68FAF0D1054DA00665A9E /* RNBSocket.h */,
				26A68FB00D1054DA00665A9E /* RNBSocket.cpp */,
				26A68FD50D10574500665A9E /* RNBRemote.h */,
				26A68FD60D10574500665A9E /* RNBRemote.cpp */,
				26E6B9DA0D1329010037ECDD /* RNBDefs.h */,
				AF48558B1D75126800D19C07 /* StdStringExtractor.cpp */,
			);
			name = debugserver;
			sourceTree = "<group>";
			usesTabs = 0;
		};
		49D404601E39260F00570CDC /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				49D404611E39260F00570CDC /* Foundation.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		26CE0593115C31C20022F371 /* debugserver */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 26CE05A4115C31ED0022F371 /* Build configuration list for PBXNativeTarget "debugserver" */;
			buildPhases = (
				26CE0591115C31C20022F371 /* Sources */,
				26CE0592115C31C20022F371 /* Frameworks */,
				4C3326CB18B2A2F600EB5DD7 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = debugserver;
			productName = "lldb-debugserver";
			productReference = 26CE0594115C31C20022F371 /* debugserver */;
			productType = "com.apple.product-type.tool";
		};
		456F67431AD46CE9002850C2 /* debugserver-mini */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 456F676D1AD46CE9002850C2 /* Build configuration list for PBXNativeTarget "debugserver-mini" */;
			buildPhases = (
				456F67451AD46CE9002850C2 /* Sources */,
				456F676A1AD46CE9002850C2 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "debugserver-mini";
			productName = "lldb-debugserver";
			productReference = 456F67721AD46CE9002850C2 /* debugserver-nonui */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0720;
			};
			buildConfigurationList = 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "debugserver" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* dbgnub */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				26CE0593115C31C20022F371 /* debugserver */,
				456F67431AD46CE9002850C2 /* debugserver-mini */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		4C3326CB18B2A2F600EB5DD7 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = "/bin/sh -x";
			shellScript = "if [ \"${CONFIGURATION}\" != BuildAndIntegration ]\nthen\n    if [ -n \"${DEBUGSERVER_USE_FROM_SYSTEM}\" ]\n    then\n\t\tditto \"${DEVELOPER_DIR}/../SharedFrameworks/LLDB.framework/Resources/debugserver\" \"${TARGET_BUILD_DIR}/${TARGET_NAME}\"\n    elif [ \"${DEBUGSERVER_DISABLE_CODESIGN}\" == \"\" ]\n    then\n        codesign -f -s lldb_codesign --entitlements ${SRCROOT}/../../resources/debugserver-macosx-entitlements.plist \"${TARGET_BUILD_DIR}/${TARGET_NAME}\"\n    fi\nfi\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		26CE0591115C31C20022F371 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D6631CA91E848FE9006A7B11 /* SocketAddress.cpp in Sources */,
				26CE05A7115C360D0022F371 /* DNBError.cpp in Sources */,
				26CE05A8115C36170022F371 /* DNBThreadResumeActions.cpp in Sources */,
				26CE05A9115C36250022F371 /* debugserver.cpp in Sources */,
				AF48558C1D75126800D19C07 /* StdStringExtractor.cpp in Sources */,
				26CE05AA115C36260022F371 /* RNBContext.cpp in Sources */,
				26CE05AB115C36270022F371 /* RNBServices.cpp in Sources */,
				23D1B0291D497E8B00FF831B /* OsLogger.cpp in Sources */,
				26CE05AC115C36280022F371 /* RNBSocket.cpp in Sources */,
				26CE05AD115C36280022F371 /* RNBRemote.cpp in Sources */,
				26CE05AE115C36320022F371 /* dbgnub-mig.defs in Sources */,
				26CE05B0115C36340022F371 /* MachException.cpp in Sources */,
				26CE05B1115C36350022F371 /* MachProcess.mm in Sources */,
				26CE05B2115C36360022F371 /* MachThread.cpp in Sources */,
				233B4EA71D2DB54300E98261 /* JSON.cpp in Sources */,
				26CE05B3115C36370022F371 /* MachThreadList.cpp in Sources */,
				26CE05B4115C36380022F371 /* MachVMMemory.cpp in Sources */,
				26CE05B5115C36380022F371 /* MachVMRegion.cpp in Sources */,
				26CE05B6115C36390022F371 /* MachTask.mm in Sources */,
				26CE05B7115C363B0022F371 /* DNB.cpp in Sources */,
				AFEC3364194A8B0B00FF05C6 /* Genealogy.cpp in Sources */,
				23AC04CF1D2F58AF0072351D /* LogFilterRegex.cpp in Sources */,
				233B4EA91D2DB96A00E98261 /* StringConvert.cpp in Sources */,
				23562ED21D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */,
				26CE05B8115C363C0022F371 /* DNBBreakpoint.cpp in Sources */,
				26CE05B9115C363D0022F371 /* DNBDataRef.cpp in Sources */,
				23AC04CA1D2F42250072351D /* LogFilterChain.cpp in Sources */,
				23562ED61D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */,
				26CE05BA115C363E0022F371 /* DNBLog.cpp in Sources */,
				23AC04C61D2F41A00072351D /* LogFilter.cpp in Sources */,
				26CE05BB115C363F0022F371 /* DNBRegisterInfo.cpp in Sources */,
				26CE05BC115C36420022F371 /* PThreadEvent.cpp in Sources */,
				26CE05BD115C36430022F371 /* PThreadMutex.cpp in Sources */,
				26CE05BE115C36440022F371 /* SysSignal.cpp in Sources */,
				23AE72E41D25DECF00945BCE /* DarwinLogCollector.cpp in Sources */,
				26CE05BF115C364D0022F371 /* DNBArchImplX86_64.cpp in Sources */,
				26CE05C0115C364F0022F371 /* DNBArchImplI386.cpp in Sources */,
				26CE05C1115C36510022F371 /* DNBArchImpl.cpp in Sources */,
				26CE05C2115C36550022F371 /* DNBArchImpl.cpp in Sources */,
				26CE05C5115C36590022F371 /* CFBundle.cpp in Sources */,
				26CE05C3115C36580022F371 /* CFString.cpp in Sources */,
				23562ED91D342B0000AB2BD4 /* LogMessage.cpp in Sources */,
				26CE05F1115C387C0022F371 /* PseudoTerminal.cpp in Sources */,
				264D5D581293835600ED4C01 /* DNBArch.cpp in Sources */,
				237821B01D4917D20028B7A1 /* LogFilterExactMatch.cpp in Sources */,
				266B5ED11460A68200E43F0A /* DNBArchImplARM64.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		456F67451AD46CE9002850C2 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				456F67461AD46CE9002850C2 /* DNBError.cpp in Sources */,
				456F67471AD46CE9002850C2 /* DNBThreadResumeActions.cpp in Sources */,
				456F67481AD46CE9002850C2 /* debugserver.cpp in Sources */,
				23043C9D1D35DBEC00FC25CA /* JSON.cpp in Sources */,
				456F67491AD46CE9002850C2 /* RNBContext.cpp in Sources */,
				23D1B02A1D497E8B00FF831B /* OsLogger.cpp in Sources */,
				456F674A1AD46CE9002850C2 /* RNBServices.cpp in Sources */,
				456F674B1AD46CE9002850C2 /* RNBSocket.cpp in Sources */,
				456F674C1AD46CE9002850C2 /* RNBRemote.cpp in Sources */,
				456F674D1AD46CE9002850C2 /* dbgnub-mig.defs in Sources */,
				456F674E1AD46CE9002850C2 /* MachException.cpp in Sources */,
				456F674F1AD46CE9002850C2 /* MachProcess.mm in Sources */,
				2307CCCB1D4A5D630016ABC0 /* LogFilterExactMatch.cpp in Sources */,
				456F67501AD46CE9002850C2 /* MachThread.cpp in Sources */,
				456F67511AD46CE9002850C2 /* MachThreadList.cpp in Sources */,
				456F67521AD46CE9002850C2 /* MachVMMemory.cpp in Sources */,
				456F67531AD46CE9002850C2 /* MachVMRegion.cpp in Sources */,
				23562ED71D342A5A00AB2BD4 /* ActivityStore.cpp in Sources */,
				456F67541AD46CE9002850C2 /* MachTask.mm in Sources */,
				456F67551AD46CE9002850C2 /* DNB.cpp in Sources */,
				456F67561AD46CE9002850C2 /* Genealogy.cpp in Sources */,
				456F67571AD46CE9002850C2 /* DNBBreakpoint.cpp in Sources */,
				456F67581AD46CE9002850C2 /* DNBDataRef.cpp in Sources */,
				456F67591AD46CE9002850C2 /* DNBLog.cpp in Sources */,
				23562ED31D3424DF00AB2BD4 /* LogMessageOsLog.cpp in Sources */,
				456F675A1AD46CE9002850C2 /* DNBRegisterInfo.cpp in Sources */,
				456F675B1AD46CE9002850C2 /* PThreadEvent.cpp in Sources */,
				456F675C1AD46CE9002850C2 /* PThreadMutex.cpp in Sources */,
				456F675D1AD46CE9002850C2 /* SysSignal.cpp in Sources */,
				23AE72E51D25DEE100945BCE /* DarwinLogCollector.cpp in Sources */,
				456F675E1AD46CE9002850C2 /* DNBArchImplX86_64.cpp in Sources */,
				23562EDA1D342B0000AB2BD4 /* LogMessage.cpp in Sources */,
				456F675F1AD46CE9002850C2 /* DNBArchImplI386.cpp in Sources */,
				456F67601AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */,
				23AC04C71D2F41A00072351D /* LogFilter.cpp in Sources */,
				23043C9E1D35DBFA00FC25CA /* StringConvert.cpp in Sources */,
				456F67611AD46CE9002850C2 /* DNBArchImpl.cpp in Sources */,
				AF588449206077BD00A0CB5A /* SocketAddress.cpp in Sources */,
				456F67621AD46CE9002850C2 /* CFString.cpp in Sources */,
				23AC04CB1D2F42250072351D /* LogFilterChain.cpp in Sources */,
				AF48558D1D75127500D19C07 /* StdStringExtractor.cpp in Sources */,
				456F67641AD46CE9002850C2 /* CFBundle.cpp in Sources */,
				456F67651AD46CE9002850C2 /* PseudoTerminal.cpp in Sources */,
				456F67671AD46CE9002850C2 /* DNBArch.cpp in Sources */,
				23AC04D01D2F58AF0072351D /* LogFilterRegex.cpp in Sources */,
				456F67691AD46CE9002850C2 /* DNBArchImplARM64.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		1DEB914F08733D8E0010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "";
				STRIP_INSTALLED_PRODUCT = NO;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = Debug;
		};
		1DEB915008733D8E0010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEAD_CODE_STRIPPING = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "";
				STRIPFLAGS = "-x";
				STRIP_STYLE = debugging;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = Release;
		};
		262419A11198A93E00067686 /* BuildAndIntegration */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEAD_CODE_STRIPPING = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 1;
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = "";
				STRIPFLAGS = "-x";
				STRIP_STYLE = debugging;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = BuildAndIntegration;
		};
		262419A21198A93E00067686 /* BuildAndIntegration */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_BUILDANDINTEGRATION;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
				INSTALL_PATH = /usr/bin;
				"INSTALL_PATH[sdk=iphoneos*]" = /Developer/usr/bin/;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"$(LLDB_ENERGY_CFLAGS)",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				"SKIP_INSTALL[sdk=iphoneos*]" = NO;
				STRIP_INSTALLED_PRODUCT = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = BuildAndIntegration;
		};
		26CE0596115C31C30022F371 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_BKS",
					"-DWITH_FBS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Debug;
		};
		26CE0597115C31C30022F371 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Release;
		};
		456F676E1AD46CE9002850C2 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				CODE_SIGN_IDENTITY = "";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INSTALL_PATH = /usr/local/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				STRIP_INSTALLED_PRODUCT = NO;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
				ZERO_LINK = NO;
			};
			name = Debug;
		};
		456F676F1AD46CE9002850C2 /* DebugClang */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/local/bin;
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = DebugClang;
		};
		456F67701AD46CE9002850C2 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
				INSTALL_PATH = /usr/local/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = Release;
		};
		456F67711AD46CE9002850C2 /* BuildAndIntegration */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_BUILDANDINTEGRATION;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
				INSTALL_PATH = /usr/local/bin;
				"INSTALL_PATH[sdk=iphoneos*]" = /usr/local/bin;
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"$(LLDB_ENERGY_CFLAGS)",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				"SKIP_INSTALL[sdk=iphoneos*]" = NO;
				STRIP_INSTALLED_PRODUCT = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = BuildAndIntegration;
		};
		4968B7A916657FAE00741ABB /* DebugClang */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIP_INSTALLED_PRODUCT = NO;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = DebugClang;
		};
		4968B7AA16657FAE00741ABB /* DebugClang */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = DebugClang;
		};
		940AD5251B1FE3B10051E88F /* DebugPresubmission */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIP_INSTALLED_PRODUCT = NO;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = DebugPresubmission;
		};
		940AD5261B1FE3B10051E88F /* DebugPresubmission */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = DebugPresubmission;
		};
		940AD5271B1FE3B10051E88F /* DebugPresubmission */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/local/bin;
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"$(LLDB_ENERGY_CFLAGS)",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DOS_OBJECT_USE_OBJC=0",
					"-DDEBUGSERVER_PROGRAM_SYMBOL=debugserver_nonui",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					Foundation,
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = "debugserver-nonui";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = DebugPresubmission;
		};
		94BA9B361B1A7C5700035A23 /* CustomSwift-Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "lldb-debugserver-nonui";
			};
			name = "CustomSwift-Debug";
		};
		94BA9B371B1A7C5700035A23 /* CustomSwift-Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "lldb-debugserver-nonui";
			};
			name = "CustomSwift-Release";
		};
		94D72C871ADF10AA00A3F718 /* CustomSwift-Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 360.99.0;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIP_INSTALLED_PRODUCT = NO;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = "CustomSwift-Debug";
		};
		94D72C881ADF10AA00A3F718 /* CustomSwift-Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_DEBUG;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "";
				LLDB_COMPRESSION_LDFLAGS = "";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_BKS",
					"-DWITH_FBS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				OTHER_LDFLAGS = "";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = "CustomSwift-Debug";
		};
		94D72C891ADF10B000A3F718 /* CustomSwift-Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				"ARCHS[sdk=iphoneos*]" = arm64;
				"ARCHS[sdk=macosx*]" = "$(ARCHS_STANDARD_64_BIT)";
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEAD_CODE_STRIPPING = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				LLDB_COMPRESSION_CFLAGS = "-DHAVE_LIBCOMPRESSION=1";
				LLDB_COMPRESSION_LDFLAGS = "-lcompression";
				LLDB_OS_LOG_CFLAGS = "-DLLDB_USE_OS_LOG=$(LLDB_USE_OS_LOG)";
				LLDB_USE_OS_LOG = 0;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIPFLAGS = "-x";
				STRIP_STYLE = debugging;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_BUILDER = "$(USER)";
			};
			name = "CustomSwift-Release";
		};
		94D72C8A1ADF10B000A3F718 /* CustomSwift-Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
				CLANG_CXX_LIBRARY = "libc++";
				"CODE_SIGN_ENTITLEMENTS[sdk=*]" = "source/debugserver-entitlements.plist";
				"CODE_SIGN_ENTITLEMENTS[sdk=macosx*]" = "source/debugserver-macosx-entitlements.plist";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
				COPY_PHASE_STRIP = YES;
				CURRENT_PROJECT_VERSION = 360.99.0;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				FRAMEWORK_SEARCH_PATHS = $SDKROOT/System/Library/PrivateFrameworks;
				"FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = (
					"$(SDKROOT)/System/Library/PrivateFrameworks",
					"$(SDKROOT)/Developer/Library/PrivateFrameworks",
				);
				"FRAMEWORK_SEARCH_PATHS[sdk=macosx*][arch=*]" = "$(SDKROOT)/System/Library/PrivateFrameworks";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = LLDB_DEBUGSERVER_RELEASE;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				HEADER_SEARCH_PATHS = /System/Library/Frameworks/System.framework/PrivateHeaders;
				INSTALL_PATH = /usr/bin;
				LLDB_COMPRESSION_CFLAGS = "";
				LLDB_COMPRESSION_LDFLAGS = "";
				LLDB_DEBUGSERVER = 1;
				LLDB_ENERGY_CFLAGS = "";
				"LLDB_ENERGY_CFLAGS[sdk=*.internal]" = "-DLLDB_ENERGY";
				LLDB_ENERGY_LDFLAGS = "-lpmenergy -lpmsample";
				LLDB_ZLIB_CFLAGS = "-DHAVE_LIBZ=1";
				LLDB_ZLIB_LDFLAGS = "-lz";
				OTHER_CFLAGS = (
					"-Wparentheses",
					"-DDT_VARIANT_$(DT_VARIANT)",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
				);
				"OTHER_CFLAGS[sdk=iphoneos*][arch=*]" = (
					"-Wparentheses",
					"-DWITH_LOCKDOWN",
					"-DWITH_FBS",
					"-DWITH_BKS",
					"-DOS_OBJECT_USE_OBJC=0",
					"$(LLDB_ENERGY_CFLAGS)",
					"$(LLDB_COMPRESSION_CFLAGS)",
					"$(LLDB_ZLIB_CFLAGS)",
					"$(LLDB_OS_LOG_CFLAGS)",
					"-isystem",
					"$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders",
				);
				"OTHER_CPLUSPLUSFLAGS[sdk=iphoneos*][arch=*]" = "$(OTHER_CFLAGS)";
				"OTHER_LDFLAGS[sdk=iphoneos*][arch=*]" = (
					"-framework",
					SpringBoardServices,
					"-framework",
					BackBoardServices,
					"-llockdown",
					"-framework",
					FrontBoardServices,
					"-framework",
					MobileCoreServices,
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				"OTHER_LDFLAGS[sdk=macosx*]" = (
					"-sectcreate",
					__TEXT,
					__info_plist,
					"$(PROJECT_DIR)/resources/lldb-debugserver-Info.plist",
					"$(LLDB_ENERGY_LDFLAGS)",
					"$(LLDB_COMPRESSION_LDFLAGS)",
					"$(LLDB_ZLIB_LDFLAGS)",
				);
				OTHER_MIGFLAGS = "-I$(DERIVED_FILE_DIR)";
				PRODUCT_NAME = debugserver;
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				"PROVISIONING_PROFILE[sdk=macosx*]" = "";
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				USER_HEADER_SEARCH_PATHS = "./source ../../source $(DERIVED_SOURCES_DIR) ../../include";
				ZERO_LINK = NO;
			};
			name = "CustomSwift-Release";
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "debugserver" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB914F08733D8E0010E9CD /* Debug */,
				94D72C871ADF10AA00A3F718 /* CustomSwift-Debug */,
				4968B7A916657FAE00741ABB /* DebugClang */,
				940AD5251B1FE3B10051E88F /* DebugPresubmission */,
				1DEB915008733D8E0010E9CD /* Release */,
				94D72C891ADF10B000A3F718 /* CustomSwift-Release */,
				262419A11198A93E00067686 /* BuildAndIntegration */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = BuildAndIntegration;
		};
		26CE05A4115C31ED0022F371 /* Build configuration list for PBXNativeTarget "debugserver" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				26CE0596115C31C30022F371 /* Debug */,
				94D72C881ADF10AA00A3F718 /* CustomSwift-Debug */,
				4968B7AA16657FAE00741ABB /* DebugClang */,
				940AD5261B1FE3B10051E88F /* DebugPresubmission */,
				26CE0597115C31C30022F371 /* Release */,
				94D72C8A1ADF10B000A3F718 /* CustomSwift-Release */,
				262419A21198A93E00067686 /* BuildAndIntegration */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = BuildAndIntegration;
		};
		456F676D1AD46CE9002850C2 /* Build configuration list for PBXNativeTarget "debugserver-mini" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				456F676E1AD46CE9002850C2 /* Debug */,
				456F676F1AD46CE9002850C2 /* DebugClang */,
				940AD5271B1FE3B10051E88F /* DebugPresubmission */,
				456F67701AD46CE9002850C2 /* Release */,
				456F67711AD46CE9002850C2 /* BuildAndIntegration */,
				94BA9B361B1A7C5700035A23 /* CustomSwift-Debug */,
				94BA9B371B1A7C5700035A23 /* CustomSwift-Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = BuildAndIntegration;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
