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

/* Begin PBXAggregateTarget section */
		F94585840F782326009A47BF /* All */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = F94585930F78235C009A47BF /* Build configuration list for PBXAggregateTarget "All" */;
			buildPhases = (
			);
			dependencies = (
				F94585880F78232B009A47BF /* PBXTargetDependency */,
				F945858A0F78232E009A47BF /* PBXTargetDependency */,
				F945858C0F782330009A47BF /* PBXTargetDependency */,
				F945858E0F782333009A47BF /* PBXTargetDependency */,
				F94585900F782336009A47BF /* PBXTargetDependency */,
				F93DE3A70F830D1D00608B94 /* PBXTargetDependency */,
				F95BB8B3101F94D300AA053B /* PBXTargetDependency */,
				F95BB8B5101F94D300AA053B /* PBXTargetDependency */,
				F95BB8B7101F94D300AA053B /* PBXTargetDependency */,
				8B31023911F0CF0600FCF3E4 /* PBXTargetDependency */,
				8B31051711F1010E00FCF3E4 /* PBXTargetDependency */,
				8B31051911F1010E00FCF3E4 /* PBXTargetDependency */,
				8B31051B11F1010E00FCF3E4 /* PBXTargetDependency */,
				8B31051D11F1010E00FCF3E4 /* PBXTargetDependency */,
				8B31051F11F1010E00FCF3E4 /* PBXTargetDependency */,
			);
			name = All;
			productName = All;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		162F64F2161C577500CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
		162F64F3161C577500CD68D5 /* arch_utilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 162F64F1161C577500CD68D5 /* arch_utilities.h */; };
		162F64F4161C579B00CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
		162F64F5161C579B00CD68D5 /* arch_utilities.h in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F1161C577500CD68D5 /* arch_utilities.h */; };
		163201D61443019E00C4DBF5 /* ConfigFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 163201D41443019E00C4DBF5 /* ConfigFile.h */; };
		163201D71443019E00C4DBF5 /* ConfigFile.mm in Sources */ = {isa = PBXBuildFile; fileRef = 163201D51443019E00C4DBF5 /* ConfigFile.mm */; };
		163201E31443029300C4DBF5 /* ConfigFile.mm in Sources */ = {isa = PBXBuildFile; fileRef = 163201D51443019E00C4DBF5 /* ConfigFile.mm */; };
		16C7C918147D45AE00776EAD /* BreakpadDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 16C7C917147D45AE00776EAD /* BreakpadDefines.h */; settings = {ATTRIBUTES = (Public, ); }; };
		16E02DB8147410F0008C604D /* uploader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 16E02DB4147410D4008C604D /* uploader.mm */; };
		1EEEB6231720829E00F7E689 /* simple_string_dictionary.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EEEB6211720829E00F7E689 /* simple_string_dictionary.cc */; };
		1EEEB6241720829E00F7E689 /* simple_string_dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EEEB6221720829E00F7E689 /* simple_string_dictionary.h */; };
		1EEEB6271720831E00F7E689 /* BreakpadFramework_Test.mm in Sources */ = {isa = PBXBuildFile; fileRef = F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */; };
		1EEEB62A1720859200F7E689 /* simple_string_dictionary_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EEEB6251720830600F7E689 /* simple_string_dictionary_unittest.cc */; };
		1EEEB62B1720868C00F7E689 /* simple_string_dictionary.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1EEEB6211720829E00F7E689 /* simple_string_dictionary.cc */; };
		3329D4ED0FA16D820007BBC5 /* Breakpad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3329D4EC0FA16D820007BBC5 /* Breakpad.xib */; };
		33880C800F9E097100817F82 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 33880C7E0F9E097100817F82 /* InfoPlist.strings */; };
		4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */; };
		4247E6412110D7A300482558 /* memory_allocator_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244540A12439BA0009BBCE0 /* memory_allocator_unittest.cc */; };
		4D61A25F14F43CFC002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D61A26B14F43D3C002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D61A26C14F43D42002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D61A26D14F43D43002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D61A26E14F43D45002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D61A26F14F43D48002D5862 /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
		4D72CA0E13DFAD5C006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
		4D72CA2513DFAE1C006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
		4D72CA2F13DFAE65006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
		4D72CA3813DFAE91006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
		4D72CA3913DFAE92006CABE3 /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
		4DBE49A6134A4F200072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
		4DBE49A7134A4F280072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
		4DBE49A8134A4F380072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
		4DBE49A9134A4F460072546A /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4DBE4769134A4F080072546A /* CoreServices.framework */; };
		8B3101C611F0CD9F00FCF3E4 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
		8B3101C711F0CD9F00FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8B3101CA11F0CDB000FCF3E4 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
		8B3101CB11F0CDB000FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8B3101EA11F0CDE300FCF3E4 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B3101E911F0CDE300FCF3E4 /* SenTestingKit.framework */; };
		8B31029411F0D54300FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8B3102E611F0D74C00FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8B3102EB11F0D78000FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8B31FC8211EFD2B800FCF3E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
		D23F4B2E12A7E13200686C8D /* minidump_generator_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D23F4B2C12A7E13200686C8D /* minidump_generator_test.cc */; };
		D23F4B3312A7E17700686C8D /* libgtest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2F9A41512131EF0002747C1 /* libgtest.a */; };
		D23F4BB112A868CB00686C8D /* minidump_generator_test_helper.cc in Sources */ = {isa = PBXBuildFile; fileRef = D23F4B9A12A8688800686C8D /* minidump_generator_test_helper.cc */; };
		D23F4BB812A868F700686C8D /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
		D244536A12426F00009BBCE0 /* logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535112426EBB009BBCE0 /* logging.cc */; };
		D244536B12426F00009BBCE0 /* minidump.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535212426EBB009BBCE0 /* minidump.cc */; };
		D244536C12426F00009BBCE0 /* pathname_stripper.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535312426EBB009BBCE0 /* pathname_stripper.cc */; };
		D244536D12426F00009BBCE0 /* basic_code_modules.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244534F12426E98009BBCE0 /* basic_code_modules.cc */; };
		D246417012BAA40E005170D0 /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
		D246417112BAA41C005170D0 /* crash_generation_client.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */; };
		D246417512BAA438005170D0 /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
		D246417612BAA43F005170D0 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
		D246417712BAA444005170D0 /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
		D246418412BAA4BA005170D0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		D246418812BAA4E3005170D0 /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
		D246418C12BAA508005170D0 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		D246419012BAA52A005170D0 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		D246419112BAA52F005170D0 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		D246419512BAA54C005170D0 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
		D246419612BAA55A005170D0 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
		D24641A012BAA67F005170D0 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
		D24641AF12BAA82D005170D0 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
		D24641EC12BAC6FB005170D0 /* logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535112426EBB009BBCE0 /* logging.cc */; };
		D24641ED12BAC6FB005170D0 /* minidump.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535212426EBB009BBCE0 /* minidump.cc */; };
		D24641EE12BAC6FB005170D0 /* pathname_stripper.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535312426EBB009BBCE0 /* pathname_stripper.cc */; };
		D24641EF12BAC6FB005170D0 /* basic_code_modules.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244534F12426E98009BBCE0 /* basic_code_modules.cc */; };
		D24BBBFD121050F000F3D417 /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
		D24BBD291211EDB100F3D417 /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
		D24BBD321212CACF00F3D417 /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
		D2A5DD301188633800081F03 /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
		D2A5DD401188640400081F03 /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
		D2A5DD411188642E00081F03 /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
		D2C1DBE412AFC270006917BD /* logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535112426EBB009BBCE0 /* logging.cc */; };
		D2C1DBE512AFC270006917BD /* minidump.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535212426EBB009BBCE0 /* minidump.cc */; };
		D2C1DBE612AFC270006917BD /* pathname_stripper.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244535312426EBB009BBCE0 /* pathname_stripper.cc */; };
		D2C1DBE712AFC270006917BD /* basic_code_modules.cc in Sources */ = {isa = PBXBuildFile; fileRef = D244534F12426E98009BBCE0 /* basic_code_modules.cc */; };
		D2F9A3D51212F87C002747C1 /* exception_handler_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A3D41212F87C002747C1 /* exception_handler_test.cc */; };
		D2F9A43D12131F55002747C1 /* gmock-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A43C12131F55002747C1 /* gmock-all.cc */; };
		D2F9A44012131F65002747C1 /* gtest_main.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A43E12131F65002747C1 /* gtest_main.cc */; };
		D2F9A44112131F65002747C1 /* gtest-all.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A43F12131F65002747C1 /* gtest-all.cc */; };
		D2F9A44412131F84002747C1 /* libgtest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2F9A41512131EF0002747C1 /* libgtest.a */; };
		D2F9A4C9121336C7002747C1 /* client_info.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F9A4C4121336C7002747C1 /* client_info.h */; };
		D2F9A4CA121336C7002747C1 /* crash_generation_client.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F9A4C5121336C7002747C1 /* crash_generation_client.h */; };
		D2F9A4CB121336C7002747C1 /* crash_generation_client.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */; };
		D2F9A4CC121336C7002747C1 /* crash_generation_server.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F9A4C7121336C7002747C1 /* crash_generation_server.h */; };
		D2F9A4CD121336C7002747C1 /* crash_generation_server.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */; };
		D2F9A4DF12133AD9002747C1 /* crash_generation_client.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */; };
		D2F9A4E012133AD9002747C1 /* crash_generation_server.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */; };
		D2F9A4E112133AE2002747C1 /* crash_generation_client.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */; };
		D2F9A4E212133AE2002747C1 /* crash_generation_server.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */; };
		D2F9A52E121383A1002747C1 /* crash_generation_client.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */; };
		D2F9A52F121383A1002747C1 /* crash_generation_server.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */; };
		D2F9A530121383A1002747C1 /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
		D2F9A531121383A1002747C1 /* breakpad_nlist_64.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */; };
		D2F9A532121383A1002747C1 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
		D2F9A533121383A1002747C1 /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
		D2F9A534121383A1002747C1 /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
		D2F9A535121383A1002747C1 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		D2F9A536121383A1002747C1 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		D2F9A537121383A1002747C1 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		D2F9A538121383A1002747C1 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
		D2F9A539121383A1002747C1 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
		D2F9A53A121383A1002747C1 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
		D2F9A53B121383A1002747C1 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
		D2F9A53C121383A1002747C1 /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
		D2F9A53F121383A1002747C1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		D2F9A541121383A1002747C1 /* libgtest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2F9A41512131EF0002747C1 /* libgtest.a */; };
		D2F9A553121383DC002747C1 /* crash_generation_server_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = D2F9A4CE121336F7002747C1 /* crash_generation_server_test.cc */; };
		F4DAB1DD19F1027100A5A838 /* launch_reporter.cc in Sources */ = {isa = PBXBuildFile; fileRef = F4DAB1DB19F1027100A5A838 /* launch_reporter.cc */; };
		F4DAB1DE19F1027100A5A838 /* launch_reporter.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DAB1DC19F1027100A5A838 /* launch_reporter.h */; };
		F4F916B619F10FFC00B83BE4 /* launch_reporter.cc in Sources */ = {isa = PBXBuildFile; fileRef = F4DAB1DB19F1027100A5A838 /* launch_reporter.cc */; };
		F91AF6210FD60784009D8BE2 /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
		F9286B3A0F7EB25800A4DCC8 /* InspectorMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */; };
		F92C53B80ECCE7B3009BE4BA /* Inspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53B70ECCE7B3009BE4BA /* Inspector.mm */; };
		F92C554C0ECCF534009BE4BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
		F92C55D00ECD0064009BE4BA /* Breakpad.h in Headers */ = {isa = PBXBuildFile; fileRef = F92C55CE0ECD0064009BE4BA /* Breakpad.h */; settings = {ATTRIBUTES = (Public, ); }; };
		F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C55CF0ECD0064009BE4BA /* Breakpad.mm */; };
		F92C56330ECD0DF1009BE4BA /* OnDemandServer.h in Headers */ = {isa = PBXBuildFile; fileRef = F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */; };
		F92C56340ECD0DF1009BE4BA /* OnDemandServer.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */; };
		F92C563F0ECD10CA009BE4BA /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		F92C56400ECD10CA009BE4BA /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
		F92C56410ECD10CA009BE4BA /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
		F92C56420ECD10CA009BE4BA /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
		F92C56430ECD10CA009BE4BA /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
		F92C56440ECD10CA009BE4BA /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
		F92C56450ECD10CA009BE4BA /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
		F92C56460ECD10CA009BE4BA /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		F92C56470ECD10CA009BE4BA /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
		F92C56490ECD10CA009BE4BA /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
		F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
		F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C554A0ECCF530009BE4BA /* Carbon.framework */; };
		F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
		F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */; };
		F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
		F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
		F92C568A0ECD15F9009BE4BA /* Inspector in Resources */ = {isa = PBXBuildFile; fileRef = F92C53540ECCE349009BE4BA /* Inspector */; };
		F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */; };
		F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
		F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
		F93803CF0F8083B7004D428B /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
		F93803D00F8083B7004D428B /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		F93803D10F8083B7004D428B /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		F93803D20F8083B7004D428B /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		F93803D30F8083B7004D428B /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
		F93803D40F8083B7004D428B /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
		F93803D50F8083B7004D428B /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
		F93803D60F8083B7004D428B /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
		F93803D70F8083B7004D428B /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
		F93DE2D80F82A70E00608B94 /* minidump_file_writer_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */; };
		F93DE2D90F82A73500608B94 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		F93DE2DA0F82A73500608B94 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		F93DE2DB0F82A73500608B94 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		F93DE3350F82C66B00608B94 /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
		F93DE3360F82C66B00608B94 /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
		F93DE3370F82C66B00608B94 /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
		F93DE3380F82C66B00608B94 /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
		F93DE3390F82C66B00608B94 /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
		F93DE33A0F82C66B00608B94 /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
		F93DE33B0F82C66B00608B94 /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
		F93DE33C0F82C66B00608B94 /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
		F93DE33D0F82C66B00608B94 /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
		F93DE33E0F82C66B00608B94 /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
		F93DE33F0F82C66B00608B94 /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
		F945849E0F280E3C009A47BF /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F945849C0F280E3C009A47BF /* Localizable.strings */; };
		F9B630A0100FF96B00D0F4AC /* goArrow.png in Resources */ = {isa = PBXBuildFile; fileRef = F9B6309F100FF96B00D0F4AC /* goArrow.png */; };
		F9C44DB20EF07288003AEBAA /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DAC0EF07288003AEBAA /* Controller.m */; };
		F9C44DB30EF07288003AEBAA /* crashduringload in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DAD0EF07288003AEBAA /* crashduringload */; };
		F9C44DB40EF07288003AEBAA /* crashInMain in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DAE0EF07288003AEBAA /* crashInMain */; };
		F9C44DB60EF07288003AEBAA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DB00EF07288003AEBAA /* main.m */; };
		F9C44DB70EF07288003AEBAA /* TestClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DB10EF07288003AEBAA /* TestClass.mm */; };
		F9C44DBC0EF072A0003AEBAA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */; };
		F9C44DBD0EF072A0003AEBAA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DBA0EF072A0003AEBAA /* MainMenu.xib */; };
		F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
		F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
		F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */ = {isa = PBXBuildFile; fileRef = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */; };
		F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */; };
		F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */; };
		F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */; };
		F9C77E130F7DDF810045F7DB /* GTMSenTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		8B31023811F0CF0600FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = B88FAFC9116BDCAD00407530;
			remoteInfo = all_unittests;
		};
		8B31051611F1010E00FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F93803BD0F80820F004D428B;
			remoteInfo = generator_test;
		};
		8B31051811F1010E00FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F93DE2D00F82A67300608B94;
			remoteInfo = minidump_file_writer_unittest;
		};
		8B31051A11F1010E00FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F93DE32B0F82C55600608B94;
			remoteInfo = handler_test;
		};
		8B31051C11F1010E00FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = B89E0E731166575200DD08C9;
			remoteInfo = macho_dump;
		};
		8B31051E11F1010E00FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB894101F94C000AA053B /* symupload.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 9BD835FA0B0544950055103E;
			remoteInfo = minidump_upload;
		};
		8B31F7A011EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B89E0E741166575200DD08C9;
			remoteInfo = macho_dump;
		};
		8B31F7A211EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB024116BDFFF00407530;
			remoteInfo = gtestmockall;
		};
		8B31F7A411EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB14B116CF4A700407530;
			remoteInfo = byte_cursor_unittest;
		};
		8B31F7A611EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B89E0E9511665A6400DD08C9;
			remoteInfo = macho_reader_unittest;
		};
		8B31F7A811EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB007116BDE8300407530;
			remoteInfo = stabs_reader_unittest;
		};
		8B31F7AA11EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB135116CF30F00407530;
			remoteInfo = bytereader_unittest;
		};
		8B31F7AC11EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FAF2F116A591E00407530;
			remoteInfo = dwarf2reader_cfi_unittest;
		};
		8B31F7AE11EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB0DF116CEEA800407530;
			remoteInfo = dwarf2diehandler_unittest;
		};
		8B31F7B011EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB10A116CF07900407530;
			remoteInfo = dwarf_cu_to_module_unittest;
		};
		8B31F7B211EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB0F2116CEF1900407530;
			remoteInfo = dwarf_line_to_module_unittest;
		};
		8B31F7B411EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB11F116CF27F00407530;
			remoteInfo = dwarf_cfi_to_module_unittest;
		};
		8B31F7B611EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B84A91F4116CF784006C210E;
			remoteInfo = stabs_to_module_unittest;
		};
		8B31F7B811EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = B88FB0B9116CEABF00407530;
			remoteInfo = module_unittest;
		};
		8B31F7BA11EF9A8700FCF3E4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = D21F97D211CBA0F200239E38;
			remoteInfo = test_assembler_unittest;
		};
		D23F4B2F12A7E16200686C8D /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D2F9A41412131EF0002747C1;
			remoteInfo = gtest;
		};
		D23F4BB912A8694C00686C8D /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D23F4BAA12A868A500686C8D;
			remoteInfo = minidump_generator_test_helper;
		};
		D2F9A44212131F80002747C1 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D2F9A41412131EF0002747C1;
			remoteInfo = gtest;
		};
		D2F9A52C121383A1002747C1 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D2F9A41412131EF0002747C1;
			remoteInfo = gtest;
		};
		D2F9A5DE12142A6A002747C1 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D2F9A52A121383A1002747C1;
			remoteInfo = crash_generation_server_test;
		};
		F91AF6370FD60A74009D8BE2 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
			remoteInfo = Breakpad;
		};
		F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
			remoteInfo = breakpadUtilities;
		};
		F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
			remoteInfo = breakpadUtilities;
		};
		F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C53530ECCE349009BE4BA;
			remoteInfo = Inspector;
		};
		F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F93803BD0F80820F004D428B;
			remoteInfo = generator_test;
		};
		F93DE36F0F82CC1300608B94 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F93DE32B0F82C55600608B94;
			remoteInfo = handler_test;
		};
		F93DE3A60F830D1D00608B94 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F9C77DD90F7DD5CF0045F7DB;
			remoteInfo = UnitTests;
		};
		F94585870F78232B009A47BF /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
			remoteInfo = Breakpad;
		};
		F94585890F78232E009A47BF /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C53530ECCE349009BE4BA;
			remoteInfo = Inspector;
		};
		F945858B0F782330009A47BF /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
			remoteInfo = breakpadUtilities;
		};
		F945858D0F782333009A47BF /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
			remoteInfo = crash_report_sender;
		};
		F945858F0F782336009A47BF /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F9C44DA40EF060A8003AEBAA;
			remoteInfo = BreakpadTest;
		};
		F95BB884101F949F00AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB87C101F949F00AA053B /* crash_report.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 8DD76FA10486AA7600D96B5E;
			remoteInfo = crash_report;
		};
		F95BB891101F94AC00AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 8DD76FA10486AA7600D96B5E;
			remoteInfo = dump_syms;
		};
		F95BB89E101F94C000AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB894101F94C000AA053B /* symupload.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 8DD76FA10486AA7600D96B5E;
			remoteInfo = symupload;
		};
		F95BB8A0101F94C000AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB894101F94C000AA053B /* symupload.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 9BD835FB0B0544950055103E;
			remoteInfo = minidump_upload;
		};
		F95BB8B2101F94D300AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = B8C5B5101166531A00D34F4E;
			remoteInfo = dump_syms;
		};
		F95BB8B4101F94D300AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB894101F94C000AA053B /* symupload.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 8DD76F960486AA7600D96B5E;
			remoteInfo = symupload;
		};
		F95BB8B6101F94D300AA053B /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = F95BB87C101F949F00AA053B /* crash_report.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 8DD76F960486AA7600D96B5E;
			remoteInfo = crash_report;
		};
		F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
			remoteInfo = Breakpad;
		};
		F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
			remoteInfo = crash_report_sender;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		F9C44E410EF08B17003AEBAA /* Copy Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */,
			);
			name = "Copy Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
		1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		162F64F0161C577500CD68D5 /* arch_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = arch_utilities.cc; path = ../../common/mac/arch_utilities.cc; sourceTree = "<group>"; };
		162F64F1161C577500CD68D5 /* arch_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = arch_utilities.h; path = ../../common/mac/arch_utilities.h; sourceTree = "<group>"; };
		163201D41443019E00C4DBF5 /* ConfigFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConfigFile.h; path = crash_generation/ConfigFile.h; sourceTree = "<group>"; };
		163201D51443019E00C4DBF5 /* ConfigFile.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = ConfigFile.mm; path = crash_generation/ConfigFile.mm; sourceTree = "<group>"; };
		163202431443201300C4DBF5 /* uploader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = uploader.h; path = sender/uploader.h; sourceTree = "<group>"; };
		16C7C917147D45AE00776EAD /* BreakpadDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BreakpadDefines.h; sourceTree = "<group>"; };
		16E02DB4147410D4008C604D /* uploader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = uploader.mm; path = sender/uploader.mm; sourceTree = "<group>"; };
		1EEEB6211720829E00F7E689 /* simple_string_dictionary.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = simple_string_dictionary.cc; path = ../../common/simple_string_dictionary.cc; sourceTree = "<group>"; };
		1EEEB6221720829E00F7E689 /* simple_string_dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = simple_string_dictionary.h; path = ../../common/simple_string_dictionary.h; sourceTree = "<group>"; };
		1EEEB6251720830600F7E689 /* simple_string_dictionary_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = simple_string_dictionary_unittest.cc; path = ../../common/simple_string_dictionary_unittest.cc; sourceTree = "<group>"; };
		32DBCF5E0370ADEE00C91783 /* Breakpad_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpad_Prefix.pch; path = Framework/Breakpad_Prefix.pch; sourceTree = "<group>"; };
		3329D4EC0FA16D820007BBC5 /* Breakpad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Breakpad.xib; path = sender/Breakpad.xib; sourceTree = "<group>"; };
		33880C7F0F9E097100817F82 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = sender/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = crash_report_sender.icns; path = sender/crash_report_sender.icns; sourceTree = "<group>"; };
		4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bootstrap_compat.cc; path = ../../common/mac/bootstrap_compat.cc; sourceTree = SOURCE_ROOT; };
		4D61A25E14F43CFC002D5862 /* bootstrap_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bootstrap_compat.h; path = ../../common/mac/bootstrap_compat.h; sourceTree = SOURCE_ROOT; };
		4D72CA0D13DFAD5C006CABE3 /* md5.cc */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; name = md5.cc; path = ../../common/md5.cc; sourceTree = SOURCE_ROOT; };
		4DBE4769134A4F080072546A /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
		8B31007011F0CD3C00FCF3E4 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMDefines.h; path = ../../common/mac/GTMDefines.h; sourceTree = SOURCE_ROOT; };
		8B3101E911F0CDE300FCF3E4 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
		8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadDebug.xcconfig; path = ../../common/mac/BreakpadDebug.xcconfig; sourceTree = SOURCE_ROOT; };
		8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = BreakpadRelease.xcconfig; path = ../../common/mac/BreakpadRelease.xcconfig; sourceTree = SOURCE_ROOT; };
		8B31FFF611F0C90500FCF3E4 /* Breakpad.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Breakpad.xcconfig; path = ../../common/mac/Breakpad.xcconfig; sourceTree = SOURCE_ROOT; };
		8DC2EF5B0486A6940098B216 /* Breakpad.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Breakpad.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		D23F4B2C12A7E13200686C8D /* minidump_generator_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_generator_test.cc; path = tests/minidump_generator_test.cc; sourceTree = "<group>"; };
		D23F4B9A12A8688800686C8D /* minidump_generator_test_helper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_generator_test_helper.cc; path = tests/minidump_generator_test_helper.cc; sourceTree = "<group>"; };
		D23F4BAB12A868A500686C8D /* minidump_generator_test_helper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_generator_test_helper; sourceTree = BUILT_PRODUCTS_DIR; };
		D244534F12426E98009BBCE0 /* basic_code_modules.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = basic_code_modules.cc; path = ../../processor/basic_code_modules.cc; sourceTree = SOURCE_ROOT; };
		D244535112426EBB009BBCE0 /* logging.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = logging.cc; path = ../../processor/logging.cc; sourceTree = SOURCE_ROOT; };
		D244535212426EBB009BBCE0 /* minidump.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump.cc; path = ../../processor/minidump.cc; sourceTree = SOURCE_ROOT; };
		D244535312426EBB009BBCE0 /* pathname_stripper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pathname_stripper.cc; path = ../../processor/pathname_stripper.cc; sourceTree = SOURCE_ROOT; };
		D244540A12439BA0009BBCE0 /* memory_allocator_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = memory_allocator_unittest.cc; path = ../../common/memory_allocator_unittest.cc; sourceTree = SOURCE_ROOT; };
		D2F9A3D41212F87C002747C1 /* exception_handler_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception_handler_test.cc; path = tests/exception_handler_test.cc; sourceTree = "<group>"; };
		D2F9A41512131EF0002747C1 /* libgtest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libgtest.a; sourceTree = BUILT_PRODUCTS_DIR; };
		D2F9A43C12131F55002747C1 /* gmock-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gmock-all.cc"; path = "../../testing/googlemock/src/gmock-all.cc"; sourceTree = SOURCE_ROOT; };
		D2F9A43E12131F65002747C1 /* gtest_main.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gtest_main.cc; path = ../../testing/googletest/src/gtest_main.cc; sourceTree = "<group>"; };
		D2F9A43F12131F65002747C1 /* gtest-all.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "gtest-all.cc"; path = "../../testing/googletest/src/gtest-all.cc"; sourceTree = "<group>"; };
		D2F9A4C4121336C7002747C1 /* client_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = client_info.h; path = crash_generation/client_info.h; sourceTree = "<group>"; };
		D2F9A4C5121336C7002747C1 /* crash_generation_client.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crash_generation_client.h; path = crash_generation/crash_generation_client.h; sourceTree = "<group>"; };
		D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = crash_generation_client.cc; path = crash_generation/crash_generation_client.cc; sourceTree = "<group>"; };
		D2F9A4C7121336C7002747C1 /* crash_generation_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crash_generation_server.h; path = crash_generation/crash_generation_server.h; sourceTree = "<group>"; };
		D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = crash_generation_server.cc; path = crash_generation/crash_generation_server.cc; sourceTree = "<group>"; };
		D2F9A4CE121336F7002747C1 /* crash_generation_server_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = crash_generation_server_test.cc; path = tests/crash_generation_server_test.cc; sourceTree = "<group>"; };
		D2F9A546121383A1002747C1 /* crash_generation_server_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = crash_generation_server_test; sourceTree = BUILT_PRODUCTS_DIR; };
		DE43467411C72855004F095F /* da */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = da; path = sender/da.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467511C72857004F095F /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = sender/de.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467611C7285B004F095F /* es */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = es; path = sender/es.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467711C72862004F095F /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr; path = sender/fr.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467811C72869004F095F /* it */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = it; path = sender/it.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467911C7286D004F095F /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = sender/nl.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467A11C72873004F095F /* no */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = no; path = sender/no.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467B11C72877004F095F /* sl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sl; path = sender/sl.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467C11C7287A004F095F /* sv */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sv; path = sender/sv.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467E11C728DC004F095F /* ja */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ja; path = sender/ja.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43467F11C728E1004F095F /* tr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = tr; path = sender/tr.lproj/Localizable.strings; sourceTree = "<group>"; };
		DE43468611C72958004F095F /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = sender/de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468711C7295D004F095F /* da */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = da; path = sender/da.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468811C7295F004F095F /* es */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = es; path = sender/es.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468911C72964004F095F /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr; path = sender/fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468A11C72967004F095F /* it */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = it; path = sender/it.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468B11C7296B004F095F /* ja */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ja; path = sender/ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468C11C7296D004F095F /* nl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = nl; path = sender/nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468D11C7296F004F095F /* no */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = no; path = sender/no.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468E11C72971004F095F /* sl */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sl; path = sender/sl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43468F11C72973004F095F /* sv */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = sv; path = sender/sv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		DE43469011C72976004F095F /* tr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = tr; path = sender/tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		F4DAB1DB19F1027100A5A838 /* launch_reporter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = launch_reporter.cc; path = ../../common/mac/launch_reporter.cc; sourceTree = SOURCE_ROOT; };
		F4DAB1DC19F1027100A5A838 /* launch_reporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = launch_reporter.h; path = ../../common/mac/launch_reporter.h; sourceTree = SOURCE_ROOT; };
		F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = BreakpadFramework_Test.mm; path = tests/BreakpadFramework_Test.mm; sourceTree = "<group>"; };
		F9286B380F7EB25800A4DCC8 /* Inspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Inspector.h; path = crash_generation/Inspector.h; sourceTree = "<group>"; };
		F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InspectorMain.mm; path = crash_generation/InspectorMain.mm; sourceTree = "<group>"; };
		F92C53540ECCE349009BE4BA /* Inspector */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Inspector; sourceTree = BUILT_PRODUCTS_DIR; };
		F92C53670ECCE3FD009BE4BA /* breakpad_exc_server.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = breakpad_exc_server.c; path = handler/breakpad_exc_server.c; sourceTree = SOURCE_ROOT; };
		F92C53680ECCE3FD009BE4BA /* breakpad_exc_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = breakpad_exc_server.h; path = handler/breakpad_exc_server.h; sourceTree = SOURCE_ROOT; };
		F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = breakpad_nlist_64.cc; path = handler/breakpad_nlist_64.cc; sourceTree = SOURCE_ROOT; };
		F92C536A0ECCE3FD009BE4BA /* breakpad_nlist_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = breakpad_nlist_64.h; path = handler/breakpad_nlist_64.h; sourceTree = SOURCE_ROOT; };
		F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dynamic_images.cc; path = handler/dynamic_images.cc; sourceTree = SOURCE_ROOT; };
		F92C536C0ECCE3FD009BE4BA /* dynamic_images.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dynamic_images.h; path = handler/dynamic_images.h; sourceTree = SOURCE_ROOT; };
		F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = exception_handler.cc; path = handler/exception_handler.cc; sourceTree = SOURCE_ROOT; };
		F92C536E0ECCE3FD009BE4BA /* exception_handler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = exception_handler.h; path = handler/exception_handler.h; sourceTree = SOURCE_ROOT; };
		F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_generator.cc; path = handler/minidump_generator.cc; sourceTree = SOURCE_ROOT; };
		F92C53700ECCE3FD009BE4BA /* minidump_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minidump_generator.h; path = handler/minidump_generator.h; sourceTree = SOURCE_ROOT; };
		F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = protected_memory_allocator.cc; path = handler/protected_memory_allocator.cc; sourceTree = SOURCE_ROOT; };
		F92C53730ECCE3FD009BE4BA /* protected_memory_allocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = protected_memory_allocator.h; path = handler/protected_memory_allocator.h; sourceTree = SOURCE_ROOT; };
		F92C53740ECCE635009BE4BA /* file_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = file_id.cc; path = ../../common/mac/file_id.cc; sourceTree = SOURCE_ROOT; };
		F92C53750ECCE635009BE4BA /* file_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = file_id.h; path = ../../common/mac/file_id.h; sourceTree = SOURCE_ROOT; };
		F92C53760ECCE635009BE4BA /* HTTPMultipartUpload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTTPMultipartUpload.h; path = ../../common/mac/HTTPMultipartUpload.h; sourceTree = SOURCE_ROOT; };
		F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HTTPMultipartUpload.m; path = ../../common/mac/HTTPMultipartUpload.m; sourceTree = SOURCE_ROOT; };
		F92C53780ECCE635009BE4BA /* MachIPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MachIPC.h; path = ../../common/mac/MachIPC.h; sourceTree = SOURCE_ROOT; };
		F92C53790ECCE635009BE4BA /* MachIPC.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MachIPC.mm; path = ../../common/mac/MachIPC.mm; sourceTree = SOURCE_ROOT; };
		F92C537A0ECCE635009BE4BA /* macho_id.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_id.cc; path = ../../common/mac/macho_id.cc; sourceTree = SOURCE_ROOT; };
		F92C537B0ECCE635009BE4BA /* macho_id.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_id.h; path = ../../common/mac/macho_id.h; sourceTree = SOURCE_ROOT; };
		F92C537C0ECCE635009BE4BA /* macho_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_utilities.cc; path = ../../common/mac/macho_utilities.cc; sourceTree = SOURCE_ROOT; };
		F92C537D0ECCE635009BE4BA /* macho_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_utilities.h; path = ../../common/mac/macho_utilities.h; sourceTree = SOURCE_ROOT; };
		F92C537E0ECCE635009BE4BA /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; };
		F92C537F0ECCE635009BE4BA /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; };
		F92C53820ECCE635009BE4BA /* string_utilities.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_utilities.cc; path = ../../common/mac/string_utilities.cc; sourceTree = SOURCE_ROOT; };
		F92C53830ECCE635009BE4BA /* string_utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = string_utilities.h; path = ../../common/mac/string_utilities.h; sourceTree = SOURCE_ROOT; };
		F92C53850ECCE6AD009BE4BA /* string_conversion.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = string_conversion.cc; path = ../../common/string_conversion.cc; sourceTree = SOURCE_ROOT; };
		F92C53860ECCE6AD009BE4BA /* string_conversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = string_conversion.h; path = ../../common/string_conversion.h; sourceTree = SOURCE_ROOT; };
		F92C53870ECCE6C0009BE4BA /* convert_UTF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = convert_UTF.c; path = ../../common/convert_UTF.c; sourceTree = SOURCE_ROOT; };
		F92C53880ECCE6C0009BE4BA /* convert_UTF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = convert_UTF.h; path = ../../common/convert_UTF.h; sourceTree = SOURCE_ROOT; };
		F92C538E0ECCE70A009BE4BA /* minidump_file_writer-inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "minidump_file_writer-inl.h"; path = "../minidump_file_writer-inl.h"; sourceTree = SOURCE_ROOT; };
		F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer.cc; path = ../minidump_file_writer.cc; sourceTree = SOURCE_ROOT; };
		F92C53900ECCE70A009BE4BA /* minidump_file_writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minidump_file_writer.h; path = ../minidump_file_writer.h; sourceTree = SOURCE_ROOT; };
		F92C53B70ECCE7B3009BE4BA /* Inspector.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Inspector.mm; path = crash_generation/Inspector.mm; sourceTree = SOURCE_ROOT; };
		F92C554A0ECCF530009BE4BA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
		F92C55CE0ECD0064009BE4BA /* Breakpad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpad.h; path = Framework/Breakpad.h; sourceTree = "<group>"; };
		F92C55CF0ECD0064009BE4BA /* Breakpad.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Breakpad.mm; path = Framework/Breakpad.mm; sourceTree = "<group>"; };
		F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OnDemandServer.h; path = Framework/OnDemandServer.h; sourceTree = "<group>"; };
		F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = OnDemandServer.mm; path = Framework/OnDemandServer.mm; sourceTree = "<group>"; };
		F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = breakpadUtilities.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = crash_report_sender.app; sourceTree = BUILT_PRODUCTS_DIR; };
		F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "crash_report_sender-Info.plist"; path = "sender/crash_report_sender-Info.plist"; sourceTree = "<group>"; };
		F92C56A70ECE04C5009BE4BA /* crash_report_sender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crash_report_sender.h; path = sender/crash_report_sender.h; sourceTree = "<group>"; };
		F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = crash_report_sender.m; path = sender/crash_report_sender.m; sourceTree = "<group>"; };
		F93803BE0F80820F004D428B /* generator_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = generator_test; sourceTree = BUILT_PRODUCTS_DIR; };
		F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidump_file_writer_unittest; sourceTree = BUILT_PRODUCTS_DIR; };
		F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = minidump_file_writer_unittest.cc; path = ../minidump_file_writer_unittest.cc; sourceTree = SOURCE_ROOT; };
		F93DE32C0F82C55600608B94 /* handler_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = handler_test; sourceTree = BUILT_PRODUCTS_DIR; };
		F945849D0F280E3C009A47BF /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = sender/English.lproj/Localizable.strings; sourceTree = "<group>"; };
		F945859D0F78241E009A47BF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Framework/Info.plist; sourceTree = "<group>"; };
		F95BB87C101F949F00AA053B /* crash_report.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = crash_report.xcodeproj; path = ../../tools/mac/crash_report/crash_report.xcodeproj; sourceTree = SOURCE_ROOT; };
		F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = dump_syms.xcodeproj; path = ../../tools/mac/dump_syms/dump_syms.xcodeproj; sourceTree = SOURCE_ROOT; };
		F95BB894101F94C000AA053B /* symupload.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = symupload.xcodeproj; path = ../../tools/mac/symupload/symupload.xcodeproj; sourceTree = SOURCE_ROOT; };
		F9B6309F100FF96B00D0F4AC /* goArrow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = goArrow.png; path = sender/goArrow.png; sourceTree = "<group>"; };
		F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BreakpadTest.app; sourceTree = BUILT_PRODUCTS_DIR; };
		F9C44DAC0EF07288003AEBAA /* Controller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Controller.m; path = testapp/Controller.m; sourceTree = "<group>"; };
		F9C44DAD0EF07288003AEBAA /* crashduringload */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = crashduringload; path = testapp/crashduringload; sourceTree = "<group>"; };
		F9C44DAE0EF07288003AEBAA /* crashInMain */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = crashInMain; path = testapp/crashInMain; sourceTree = "<group>"; };
		F9C44DAF0EF07288003AEBAA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = testapp/Info.plist; sourceTree = "<group>"; };
		F9C44DB00EF07288003AEBAA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = testapp/main.m; sourceTree = "<group>"; };
		F9C44DB10EF07288003AEBAA /* TestClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestClass.mm; path = testapp/TestClass.mm; sourceTree = "<group>"; };
		F9C44DB90EF072A0003AEBAA /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = testapp/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		F9C44DBB0EF072A0003AEBAA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = testapp/English.lproj/MainMenu.xib; sourceTree = "<group>"; };
		F9C44DBF0EF0778F003AEBAA /* Controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Controller.h; path = testapp/Controller.h; sourceTree = "<group>"; };
		F9C44DC00EF0778F003AEBAA /* TestClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestClass.h; path = testapp/TestClass.h; sourceTree = "<group>"; };
		F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
		F9C44EE70EF0A3C1003AEBAA /* GTMLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMLogger.h; path = ../../common/mac/GTMLogger.h; sourceTree = SOURCE_ROOT; };
		F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMLogger.m; path = ../../common/mac/GTMLogger.m; sourceTree = SOURCE_ROOT; };
		F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
		F9C77DDB0F7DD5CF0045F7DB /* UnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UnitTests-Info.plist"; sourceTree = "<group>"; };
		F9C77E110F7DDF810045F7DB /* GTMSenTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSenTestCase.h; path = ../../common/mac/testing/GTMSenTestCase.h; sourceTree = SOURCE_ROOT; };
		F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSenTestCase.m; path = ../../common/mac/testing/GTMSenTestCase.m; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		8DC2EF560486A6940098B216 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */,
				8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D23F4BA912A868A500686C8D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D246418412BAA4BA005170D0 /* Foundation.framework in Frameworks */,
				4DBE49A6134A4F200072546A /* CoreServices.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D2F9A41312131EF0002747C1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D2F9A53E121383A1002747C1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D2F9A53F121383A1002747C1 /* Foundation.framework in Frameworks */,
				D2F9A541121383A1002747C1 /* libgtest.a in Frameworks */,
				4DBE49A9134A4F460072546A /* CoreServices.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C53520ECCE349009BE4BA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */,
				F92C554C0ECCF534009BE4BA /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C563A0ECD10B3009BE4BA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8B31FC8211EFD2B800FCF3E4 /* Foundation.framework in Frameworks */,
				F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C569E0ECE04A7009BE4BA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */,
				8B3101C611F0CD9F00FCF3E4 /* AppKit.framework in Frameworks */,
				8B3101C711F0CD9F00FCF3E4 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93803BC0F80820F004D428B /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8B31029411F0D54300FCF3E4 /* Foundation.framework in Frameworks */,
				D23F4B3312A7E17700686C8D /* libgtest.a in Frameworks */,
				4DBE49A7134A4F280072546A /* CoreServices.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93DE2CF0F82A67300608B94 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93DE32A0F82C55600608B94 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8B3102E611F0D74C00FCF3E4 /* Foundation.framework in Frameworks */,
				D2F9A44412131F84002747C1 /* libgtest.a in Frameworks */,
				4DBE49A8134A4F380072546A /* CoreServices.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C44DA30EF060A8003AEBAA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */,
				8B3101CA11F0CDB000FCF3E4 /* AppKit.framework in Frameworks */,
				8B3101CB11F0CDB000FCF3E4 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C77DD70F7DD5CF0045F7DB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F91AF6210FD60784009D8BE2 /* Breakpad.framework in Frameworks */,
				8B3101EA11F0CDE300FCF3E4 /* SenTestingKit.framework in Frameworks */,
				8B3102EB11F0D78000FCF3E4 /* Foundation.framework in Frameworks */,
				D24BBBFD121050F000F3D417 /* breakpadUtilities.dylib in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		034768DFFF38A50411DB9C8B /* Products */ = {
			isa = PBXGroup;
			children = (
				8DC2EF5B0486A6940098B216 /* Breakpad.framework */,
				F92C53540ECCE349009BE4BA /* Inspector */,
				F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */,
				F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */,
				F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */,
				F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */,
				F93803BE0F80820F004D428B /* generator_test */,
				F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */,
				F93DE32C0F82C55600608B94 /* handler_test */,
				D2F9A41512131EF0002747C1 /* libgtest.a */,
				D2F9A546121383A1002747C1 /* crash_generation_server_test */,
				D23F4BAB12A868A500686C8D /* minidump_generator_test_helper */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		0867D691FE84028FC02AAC07 /* Breakpad */ = {
			isa = PBXGroup;
			children = (
				D2F9A43812131F3B002747C1 /* gtest */,
				8B31FFF611F0C90500FCF3E4 /* Breakpad.xcconfig */,
				8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */,
				8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */,
				F95BB8A3101F94C300AA053B /* Tools */,
				32DBCF5E0370ADEE00C91783 /* Breakpad_Prefix.pch */,
				F92C538D0ECCE6F2009BE4BA /* client */,
				F92C53600ECCE3D6009BE4BA /* common */,
				D244536912426EE7009BBCE0 /* processor */,
				0867D69AFE84028FC02AAC07 /* Frameworks */,
				034768DFFF38A50411DB9C8B /* Products */,
				F9C77DDB0F7DD5CF0045F7DB /* UnitTests-Info.plist */,
			);
			name = Breakpad;
			sourceTree = "<group>";
		};
		0867D69AFE84028FC02AAC07 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				8B3101E911F0CDE300FCF3E4 /* SenTestingKit.framework */,
				F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */,
				F92C554A0ECCF530009BE4BA /* Carbon.framework */,
				1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */,
				0867D6A5FE840307C02AAC07 /* AppKit.framework */,
				0867D69BFE84028FC02AAC07 /* Foundation.framework */,
				4DBE4769134A4F080072546A /* CoreServices.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		16C7C915147D45AE00776EAD /* apple */ = {
			isa = PBXGroup;
			children = (
				16C7C916147D45AE00776EAD /* Framework */,
			);
			name = apple;
			path = ../apple;
			sourceTree = SOURCE_ROOT;
		};
		16C7C916147D45AE00776EAD /* Framework */ = {
			isa = PBXGroup;
			children = (
				16C7C917147D45AE00776EAD /* BreakpadDefines.h */,
			);
			path = Framework;
			sourceTree = "<group>";
		};
		D244536912426EE7009BBCE0 /* processor */ = {
			isa = PBXGroup;
			children = (
				D244535112426EBB009BBCE0 /* logging.cc */,
				D244535212426EBB009BBCE0 /* minidump.cc */,
				D244535312426EBB009BBCE0 /* pathname_stripper.cc */,
				D244534F12426E98009BBCE0 /* basic_code_modules.cc */,
			);
			name = processor;
			sourceTree = "<group>";
		};
		D2F9A43812131F3B002747C1 /* gtest */ = {
			isa = PBXGroup;
			children = (
				D2F9A43E12131F65002747C1 /* gtest_main.cc */,
				D2F9A43F12131F65002747C1 /* gtest-all.cc */,
				D2F9A43C12131F55002747C1 /* gmock-all.cc */,
			);
			name = gtest;
			sourceTree = "<group>";
		};
		F92C53590ECCE3BB009BE4BA /* handler */ = {
			isa = PBXGroup;
			children = (
				F92C53670ECCE3FD009BE4BA /* breakpad_exc_server.c */,
				F92C53680ECCE3FD009BE4BA /* breakpad_exc_server.h */,
				F92C53690ECCE3FD009BE4BA /* breakpad_nlist_64.cc */,
				F92C536A0ECCE3FD009BE4BA /* breakpad_nlist_64.h */,
				F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */,
				F92C536C0ECCE3FD009BE4BA /* dynamic_images.h */,
				F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */,
				F92C536E0ECCE3FD009BE4BA /* exception_handler.h */,
				F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */,
				F92C53700ECCE3FD009BE4BA /* minidump_generator.h */,
				F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */,
				F92C53730ECCE3FD009BE4BA /* protected_memory_allocator.h */,
			);
			name = handler;
			sourceTree = "<group>";
		};
		F92C53600ECCE3D6009BE4BA /* common */ = {
			isa = PBXGroup;
			children = (
				D244540A12439BA0009BBCE0 /* memory_allocator_unittest.cc */,
				F92C53870ECCE6C0009BE4BA /* convert_UTF.c */,
				F92C53880ECCE6C0009BE4BA /* convert_UTF.h */,
				4D72CA0D13DFAD5C006CABE3 /* md5.cc */,
				1EEEB6211720829E00F7E689 /* simple_string_dictionary.cc */,
				1EEEB6221720829E00F7E689 /* simple_string_dictionary.h */,
				F92C53850ECCE6AD009BE4BA /* string_conversion.cc */,
				F92C53860ECCE6AD009BE4BA /* string_conversion.h */,
				F92C53840ECCE68D009BE4BA /* mac */,
			);
			name = common;
			sourceTree = "<group>";
		};
		F92C53840ECCE68D009BE4BA /* mac */ = {
			isa = PBXGroup;
			children = (
				162F64F0161C577500CD68D5 /* arch_utilities.cc */,
				162F64F1161C577500CD68D5 /* arch_utilities.h */,
				8B31007011F0CD3C00FCF3E4 /* GTMDefines.h */,
				F9C77E0F0F7DDF650045F7DB /* testing */,
				F9C44EE70EF0A3C1003AEBAA /* GTMLogger.h */,
				F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */,
				F92C53740ECCE635009BE4BA /* file_id.cc */,
				F92C53750ECCE635009BE4BA /* file_id.h */,
				F92C53760ECCE635009BE4BA /* HTTPMultipartUpload.h */,
				F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */,
				F4DAB1DB19F1027100A5A838 /* launch_reporter.cc */,
				F4DAB1DC19F1027100A5A838 /* launch_reporter.h */,
				F92C53780ECCE635009BE4BA /* MachIPC.h */,
				F92C53790ECCE635009BE4BA /* MachIPC.mm */,
				4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */,
				4D61A25E14F43CFC002D5862 /* bootstrap_compat.h */,
				F92C537A0ECCE635009BE4BA /* macho_id.cc */,
				F92C537B0ECCE635009BE4BA /* macho_id.h */,
				F92C537C0ECCE635009BE4BA /* macho_utilities.cc */,
				F92C537D0ECCE635009BE4BA /* macho_utilities.h */,
				F92C537E0ECCE635009BE4BA /* macho_walker.cc */,
				F92C537F0ECCE635009BE4BA /* macho_walker.h */,
				F92C53820ECCE635009BE4BA /* string_utilities.cc */,
				F92C53830ECCE635009BE4BA /* string_utilities.h */,
			);
			name = mac;
			sourceTree = "<group>";
		};
		F92C538D0ECCE6F2009BE4BA /* client */ = {
			isa = PBXGroup;
			children = (
				16C7C915147D45AE00776EAD /* apple */,
				F92C53990ECCE78E009BE4BA /* mac */,
				F92C538E0ECCE70A009BE4BA /* minidump_file_writer-inl.h */,
				F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */,
				F92C53900ECCE70A009BE4BA /* minidump_file_writer.h */,
				F93DE2D70F82A70E00608B94 /* minidump_file_writer_unittest.cc */,
			);
			name = client;
			sourceTree = "<group>";
		};
		F92C53990ECCE78E009BE4BA /* mac */ = {
			isa = PBXGroup;
			children = (
				F9C77DDF0F7DD7CF0045F7DB /* tests */,
				F9C44DAB0EF0726F003AEBAA /* testapp */,
				F92C56A60ECE04B6009BE4BA /* sender */,
				F92C55CD0ECD0053009BE4BA /* Framework */,
				F92C53B50ECCE799009BE4BA /* crash_generation */,
				F92C53590ECCE3BB009BE4BA /* handler */,
			);
			name = mac;
			sourceTree = "<group>";
		};
		F92C53B50ECCE799009BE4BA /* crash_generation */ = {
			isa = PBXGroup;
			children = (
				163201D41443019E00C4DBF5 /* ConfigFile.h */,
				163201D51443019E00C4DBF5 /* ConfigFile.mm */,
				D2F9A4C4121336C7002747C1 /* client_info.h */,
				D2F9A4C5121336C7002747C1 /* crash_generation_client.h */,
				D2F9A4C6121336C7002747C1 /* crash_generation_client.cc */,
				D2F9A4C7121336C7002747C1 /* crash_generation_server.h */,
				D2F9A4C8121336C7002747C1 /* crash_generation_server.cc */,
				F9286B380F7EB25800A4DCC8 /* Inspector.h */,
				F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */,
				F92C53B70ECCE7B3009BE4BA /* Inspector.mm */,
			);
			name = crash_generation;
			sourceTree = "<group>";
		};
		F92C55CD0ECD0053009BE4BA /* Framework */ = {
			isa = PBXGroup;
			children = (
				F945859D0F78241E009A47BF /* Info.plist */,
				F92C56310ECD0DF1009BE4BA /* OnDemandServer.h */,
				F92C56320ECD0DF1009BE4BA /* OnDemandServer.mm */,
				F92C55CE0ECD0064009BE4BA /* Breakpad.h */,
				F92C55CF0ECD0064009BE4BA /* Breakpad.mm */,
			);
			name = Framework;
			sourceTree = "<group>";
		};
		F92C56A60ECE04B6009BE4BA /* sender */ = {
			isa = PBXGroup;
			children = (
				16E02DB4147410D4008C604D /* uploader.mm */,
				163202431443201300C4DBF5 /* uploader.h */,
				F9B6309F100FF96B00D0F4AC /* goArrow.png */,
				F92C56A70ECE04C5009BE4BA /* crash_report_sender.h */,
				F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */,
				F945849C0F280E3C009A47BF /* Localizable.strings */,
				33880C7E0F9E097100817F82 /* InfoPlist.strings */,
				3329D4EC0FA16D820007BBC5 /* Breakpad.xib */,
				4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */,
				F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */,
			);
			name = sender;
			sourceTree = "<group>";
		};
		F95BB87D101F949F00AA053B /* Products */ = {
			isa = PBXGroup;
			children = (
				F95BB885101F949F00AA053B /* crash_report */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		F95BB88A101F94AC00AA053B /* Products */ = {
			isa = PBXGroup;
			children = (
				F95BB892101F94AC00AA053B /* dump_syms */,
				8B31F7A111EF9A8700FCF3E4 /* macho_dump */,
				8B31F7A311EF9A8700FCF3E4 /* libgtestmockall.a */,
				8B31F7A511EF9A8700FCF3E4 /* byte_cursor_unittest */,
				8B31F7A711EF9A8700FCF3E4 /* macho_reader_unittest */,
				8B31F7A911EF9A8700FCF3E4 /* stabs_reader_unittest */,
				8B31F7AB11EF9A8700FCF3E4 /* bytereader_unittest */,
				8B31F7AD11EF9A8700FCF3E4 /* dwarf2reader_cfi_unittest */,
				8B31F7AF11EF9A8700FCF3E4 /* dwarf2diehandler_unittest */,
				8B31F7B111EF9A8700FCF3E4 /* dwarf_cu_to_module_unittest */,
				8B31F7B311EF9A8700FCF3E4 /* dwarf_line_to_module_unittest */,
				8B31F7B511EF9A8700FCF3E4 /* dwarf_cfi_to_module_unittest */,
				8B31F7B711EF9A8700FCF3E4 /* stabs_to_module_unittest */,
				8B31F7B911EF9A8700FCF3E4 /* module_unittest */,
				8B31F7BB11EF9A8700FCF3E4 /* test_assembler_unittest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		F95BB895101F94C000AA053B /* Products */ = {
			isa = PBXGroup;
			children = (
				F95BB89F101F94C000AA053B /* symupload */,
				F95BB8A1101F94C000AA053B /* minidump_upload */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		F95BB8A3101F94C300AA053B /* Tools */ = {
			isa = PBXGroup;
			children = (
				F95BB894101F94C000AA053B /* symupload.xcodeproj */,
				F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */,
				F95BB87C101F949F00AA053B /* crash_report.xcodeproj */,
			);
			name = Tools;
			sourceTree = "<group>";
		};
		F9C44DAB0EF0726F003AEBAA /* testapp */ = {
			isa = PBXGroup;
			children = (
				F9C44DBF0EF0778F003AEBAA /* Controller.h */,
				F9C44DC00EF0778F003AEBAA /* TestClass.h */,
				F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */,
				F9C44DBA0EF072A0003AEBAA /* MainMenu.xib */,
				F9C44DAC0EF07288003AEBAA /* Controller.m */,
				F9C44DAD0EF07288003AEBAA /* crashduringload */,
				F9C44DAE0EF07288003AEBAA /* crashInMain */,
				F9C44DAF0EF07288003AEBAA /* Info.plist */,
				F9C44DB00EF07288003AEBAA /* main.m */,
				F9C44DB10EF07288003AEBAA /* TestClass.mm */,
			);
			name = testapp;
			sourceTree = "<group>";
		};
		F9C77DDF0F7DD7CF0045F7DB /* tests */ = {
			isa = PBXGroup;
			children = (
				1EEEB6251720830600F7E689 /* simple_string_dictionary_unittest.cc */,
				D23F4B9A12A8688800686C8D /* minidump_generator_test_helper.cc */,
				D23F4B2C12A7E13200686C8D /* minidump_generator_test.cc */,
				D2F9A4CE121336F7002747C1 /* crash_generation_server_test.cc */,
				D2F9A3D41212F87C002747C1 /* exception_handler_test.cc */,
				F91AF5CF0FD60393009D8BE2 /* BreakpadFramework_Test.mm */,
			);
			name = tests;
			sourceTree = "<group>";
		};
		F9C77E0F0F7DDF650045F7DB /* testing */ = {
			isa = PBXGroup;
			children = (
				F9C77E110F7DDF810045F7DB /* GTMSenTestCase.h */,
				F9C77E120F7DDF810045F7DB /* GTMSenTestCase.m */,
			);
			name = testing;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		8DC2EF500486A6940098B216 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F92C55D00ECD0064009BE4BA /* Breakpad.h in Headers */,
				F92C56330ECD0DF1009BE4BA /* OnDemandServer.h in Headers */,
				D2F9A4C9121336C7002747C1 /* client_info.h in Headers */,
				D2F9A4CA121336C7002747C1 /* crash_generation_client.h in Headers */,
				D2F9A4CC121336C7002747C1 /* crash_generation_server.h in Headers */,
				163201D61443019E00C4DBF5 /* ConfigFile.h in Headers */,
				16C7C918147D45AE00776EAD /* BreakpadDefines.h in Headers */,
				162F64F3161C577500CD68D5 /* arch_utilities.h in Headers */,
				F4DAB1DE19F1027100A5A838 /* launch_reporter.h in Headers */,
				1EEEB6241720829E00F7E689 /* simple_string_dictionary.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D2F9A41112131EF0002747C1 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C56380ECD10B3009BE4BA /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		8DC2EF4F0486A6940098B216 /* Breakpad */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
			buildPhases = (
				F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */,
				8DC2EF500486A6940098B216 /* Headers */,
				8DC2EF520486A6940098B216 /* Resources */,
				8DC2EF540486A6940098B216 /* Sources */,
				8DC2EF560486A6940098B216 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				F92C56860ECD15EF009BE4BA /* PBXTargetDependency */,
				F92C56880ECD15F1009BE4BA /* PBXTargetDependency */,
				F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */,
			);
			name = Breakpad;
			productInstallPath = "$(HOME)/Library/Frameworks";
			productName = Breakpad;
			productReference = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */;
			productType = "com.apple.product-type.framework";
		};
		D23F4BAA12A868A500686C8D /* minidump_generator_test_helper */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D23F4BB012A868C400686C8D /* Build configuration list for PBXNativeTarget "minidump_generator_test_helper" */;
			buildPhases = (
				D23F4BA812A868A500686C8D /* Sources */,
				D23F4BA912A868A500686C8D /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = minidump_generator_test_helper;
			productName = minidump_generator_test_helper;
			productReference = D23F4BAB12A868A500686C8D /* minidump_generator_test_helper */;
			productType = "com.apple.product-type.tool";
		};
		D2F9A41412131EF0002747C1 /* gtest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D2F9A42D12131F0E002747C1 /* Build configuration list for PBXNativeTarget "gtest" */;
			buildPhases = (
				D2F9A41112131EF0002747C1 /* Headers */,
				D2F9A41212131EF0002747C1 /* Sources */,
				D2F9A41312131EF0002747C1 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = gtest;
			productName = gtest;
			productReference = D2F9A41512131EF0002747C1 /* libgtest.a */;
			productType = "com.apple.product-type.library.static";
		};
		D2F9A52A121383A1002747C1 /* crash_generation_server_test */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D2F9A542121383A1002747C1 /* Build configuration list for PBXNativeTarget "crash_generation_server_test" */;
			buildPhases = (
				D2F9A52D121383A1002747C1 /* Sources */,
				D2F9A53E121383A1002747C1 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				D2F9A52B121383A1002747C1 /* PBXTargetDependency */,
			);
			name = crash_generation_server_test;
			productName = handler_test;
			productReference = D2F9A546121383A1002747C1 /* crash_generation_server_test */;
			productType = "com.apple.product-type.tool";
		};
		F92C53530ECCE349009BE4BA /* Inspector */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F92C53580ECCE36D009BE4BA /* Build configuration list for PBXNativeTarget "Inspector" */;
			buildPhases = (
				F94584840F27FB40009A47BF /* Change install name of breakpadUtilities */,
				F92C53510ECCE349009BE4BA /* Sources */,
				F92C53520ECCE349009BE4BA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				F92C564E0ECD10E5009BE4BA /* PBXTargetDependency */,
			);
			name = Inspector;
			productName = Inspector;
			productReference = F92C53540ECCE349009BE4BA /* Inspector */;
			productType = "com.apple.product-type.tool";
		};
		F92C563B0ECD10B3009BE4BA /* breakpadUtilities */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F92C56670ECD11A3009BE4BA /* Build configuration list for PBXNativeTarget "breakpadUtilities" */;
			buildPhases = (
				F92C56380ECD10B3009BE4BA /* Headers */,
				F92C56390ECD10B3009BE4BA /* Sources */,
				F92C563A0ECD10B3009BE4BA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = breakpadUtilities;
			productName = breakpadUtilities;
			productReference = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */;
			productType = "com.apple.product-type.library.dynamic";
		};
		F92C569F0ECE04A7009BE4BA /* crash_report_sender */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F92C56A50ECE04A8009BE4BA /* Build configuration list for PBXNativeTarget "crash_report_sender" */;
			buildPhases = (
				F92C569C0ECE04A7009BE4BA /* Resources */,
				F92C569D0ECE04A7009BE4BA /* Sources */,
				F92C569E0ECE04A7009BE4BA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = crash_report_sender;
			productName = crash_report_sender;
			productReference = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */;
			productType = "com.apple.product-type.application";
		};
		F93803BD0F80820F004D428B /* generator_test */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F93803C40F80822E004D428B /* Build configuration list for PBXNativeTarget "generator_test" */;
			buildPhases = (
				F93803BB0F80820F004D428B /* Sources */,
				F93803BC0F80820F004D428B /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				D23F4B3012A7E16200686C8D /* PBXTargetDependency */,
				D23F4BBA12A8694C00686C8D /* PBXTargetDependency */,
			);
			name = generator_test;
			productName = generator_test;
			productReference = F93803BE0F80820F004D428B /* generator_test */;
			productType = "com.apple.product-type.tool";
		};
		F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F93DE2D60F82A67700608B94 /* Build configuration list for PBXNativeTarget "minidump_file_writer_unittest" */;
			buildPhases = (
				F93DE2CE0F82A67300608B94 /* Sources */,
				F93DE2CF0F82A67300608B94 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = minidump_file_writer_unittest;
			productName = minidump_file_writer_unittest;
			productReference = F93DE2D10F82A67300608B94 /* minidump_file_writer_unittest */;
			productType = "com.apple.product-type.tool";
		};
		F93DE32B0F82C55600608B94 /* handler_test */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F93DE3320F82C5D800608B94 /* Build configuration list for PBXNativeTarget "handler_test" */;
			buildPhases = (
				F93DE3290F82C55600608B94 /* Sources */,
				F93DE32A0F82C55600608B94 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				D2F9A44312131F80002747C1 /* PBXTargetDependency */,
			);
			name = handler_test;
			productName = handler_test;
			productReference = F93DE32C0F82C55600608B94 /* handler_test */;
			productType = "com.apple.product-type.tool";
		};
		F9C44DA40EF060A8003AEBAA /* BreakpadTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F9C44DAA0EF060A9003AEBAA /* Build configuration list for PBXNativeTarget "BreakpadTest" */;
			buildPhases = (
				F9C44DA10EF060A8003AEBAA /* Resources */,
				F9C44DA20EF060A8003AEBAA /* Sources */,
				F9C44DA30EF060A8003AEBAA /* Frameworks */,
				F9C44E410EF08B17003AEBAA /* Copy Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				F9C44E1A0EF0790F003AEBAA /* PBXTargetDependency */,
			);
			name = BreakpadTest;
			productName = BreakpadTest;
			productReference = F9C44DA50EF060A8003AEBAA /* BreakpadTest.app */;
			productType = "com.apple.product-type.application";
		};
		F9C77DD90F7DD5CF0045F7DB /* UnitTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F9C77DDE0F7DD5D00045F7DB /* Build configuration list for PBXNativeTarget "UnitTests" */;
			buildPhases = (
				F9C77DD50F7DD5CF0045F7DB /* Resources */,
				F9C77DD60F7DD5CF0045F7DB /* Sources */,
				F9C77DD70F7DD5CF0045F7DB /* Frameworks */,
				F9C77DD80F7DD5CF0045F7DB /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */,
				F93DE3700F82CC1300608B94 /* PBXTargetDependency */,
				F91AF6380FD60A74009D8BE2 /* PBXTargetDependency */,
				D2F9A5DF12142A6A002747C1 /* PBXTargetDependency */,
			);
			name = UnitTests;
			productName = UnitTests;
			productReference = F9C77DDA0F7DD5CF0045F7DB /* UnitTests.octest */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0867D690FE84028FC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
			};
			buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				da,
				de,
				es,
				fr,
				it,
				ja,
				nl,
				no,
				sl,
				sv,
				tr,
			);
			mainGroup = 0867D691FE84028FC02AAC07 /* Breakpad */;
			productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = F95BB87D101F949F00AA053B /* Products */;
					ProjectRef = F95BB87C101F949F00AA053B /* crash_report.xcodeproj */;
				},
				{
					ProductGroup = F95BB88A101F94AC00AA053B /* Products */;
					ProjectRef = F95BB889101F94AC00AA053B /* dump_syms.xcodeproj */;
				},
				{
					ProductGroup = F95BB895101F94C000AA053B /* Products */;
					ProjectRef = F95BB894101F94C000AA053B /* symupload.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				8DC2EF4F0486A6940098B216 /* Breakpad */,
				F92C53530ECCE349009BE4BA /* Inspector */,
				F92C563B0ECD10B3009BE4BA /* breakpadUtilities */,
				F92C569F0ECE04A7009BE4BA /* crash_report_sender */,
				F9C44DA40EF060A8003AEBAA /* BreakpadTest */,
				F94585840F782326009A47BF /* All */,
				F9C77DD90F7DD5CF0045F7DB /* UnitTests */,
				F93803BD0F80820F004D428B /* generator_test */,
				F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */,
				F93DE32B0F82C55600608B94 /* handler_test */,
				D2F9A41412131EF0002747C1 /* gtest */,
				D2F9A52A121383A1002747C1 /* crash_generation_server_test */,
				D23F4BAA12A868A500686C8D /* minidump_generator_test_helper */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		8B31F7A111EF9A8700FCF3E4 /* macho_dump */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = macho_dump;
			remoteRef = 8B31F7A011EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7A311EF9A8700FCF3E4 /* libgtestmockall.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libgtestmockall.a;
			remoteRef = 8B31F7A211EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7A511EF9A8700FCF3E4 /* byte_cursor_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = byte_cursor_unittest;
			remoteRef = 8B31F7A411EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7A711EF9A8700FCF3E4 /* macho_reader_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = macho_reader_unittest;
			remoteRef = 8B31F7A611EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7A911EF9A8700FCF3E4 /* stabs_reader_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = stabs_reader_unittest;
			remoteRef = 8B31F7A811EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7AB11EF9A8700FCF3E4 /* bytereader_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = bytereader_unittest;
			remoteRef = 8B31F7AA11EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7AD11EF9A8700FCF3E4 /* dwarf2reader_cfi_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dwarf2reader_cfi_unittest;
			remoteRef = 8B31F7AC11EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7AF11EF9A8700FCF3E4 /* dwarf2diehandler_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dwarf2diehandler_unittest;
			remoteRef = 8B31F7AE11EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7B111EF9A8700FCF3E4 /* dwarf_cu_to_module_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dwarf_cu_to_module_unittest;
			remoteRef = 8B31F7B011EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7B311EF9A8700FCF3E4 /* dwarf_line_to_module_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dwarf_line_to_module_unittest;
			remoteRef = 8B31F7B211EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7B511EF9A8700FCF3E4 /* dwarf_cfi_to_module_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dwarf_cfi_to_module_unittest;
			remoteRef = 8B31F7B411EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7B711EF9A8700FCF3E4 /* stabs_to_module_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = stabs_to_module_unittest;
			remoteRef = 8B31F7B611EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7B911EF9A8700FCF3E4 /* module_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = module_unittest;
			remoteRef = 8B31F7B811EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		8B31F7BB11EF9A8700FCF3E4 /* test_assembler_unittest */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = test_assembler_unittest;
			remoteRef = 8B31F7BA11EF9A8700FCF3E4 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		F95BB885101F949F00AA053B /* crash_report */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = crash_report;
			remoteRef = F95BB884101F949F00AA053B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		F95BB892101F94AC00AA053B /* dump_syms */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = dump_syms;
			remoteRef = F95BB891101F94AC00AA053B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		F95BB89F101F94C000AA053B /* symupload */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = symupload;
			remoteRef = F95BB89E101F94C000AA053B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		F95BB8A1101F94C000AA053B /* minidump_upload */ = {
			isa = PBXReferenceProxy;
			fileType = "compiled.mach-o.executable";
			path = minidump_upload;
			remoteRef = F95BB8A0101F94C000AA053B /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		8DC2EF520486A6940098B216 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */,
				F92C568A0ECD15F9009BE4BA /* Inspector in Resources */,
				F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C569C0ECE04A7009BE4BA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F945849E0F280E3C009A47BF /* Localizable.strings in Resources */,
				4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */,
				33880C800F9E097100817F82 /* InfoPlist.strings in Resources */,
				3329D4ED0FA16D820007BBC5 /* Breakpad.xib in Resources */,
				F9B630A0100FF96B00D0F4AC /* goArrow.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C44DA10EF060A8003AEBAA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44DB30EF07288003AEBAA /* crashduringload in Resources */,
				F9C44DB40EF07288003AEBAA /* crashInMain in Resources */,
				F9C44DBC0EF072A0003AEBAA /* InfoPlist.strings in Resources */,
				F9C44DBD0EF072A0003AEBAA /* MainMenu.xib in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C77DD50F7DD5CF0045F7DB /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		F94584840F27FB40009A47BF /* Change install name of breakpadUtilities */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Change install name of breakpadUtilities";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
		};
		F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Change install name of breakpadUtilities";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
		};
		F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n\necho running minidump generator tests...\n\"${BUILT_PRODUCTS_DIR}/generator_test\"\necho Running exception handler tests...\n\"${BUILT_PRODUCTS_DIR}/handler_test\"\necho Running crash generation server tests...\n\"${BUILT_PRODUCTS_DIR}/crash_generation_server_test\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		8DC2EF540486A6940098B216 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
				F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
				F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
				F4DAB1DD19F1027100A5A838 /* launch_reporter.cc in Sources */,
				F92C56340ECD0DF1009BE4BA /* OnDemandServer.mm in Sources */,
				D2F9A4CB121336C7002747C1 /* crash_generation_client.cc in Sources */,
				D2F9A4CD121336C7002747C1 /* crash_generation_server.cc in Sources */,
				163201D71443019E00C4DBF5 /* ConfigFile.mm in Sources */,
				162F64F2161C577500CD68D5 /* arch_utilities.cc in Sources */,
				1EEEB6231720829E00F7E689 /* simple_string_dictionary.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D23F4BA812A868A500686C8D /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D23F4BB112A868CB00686C8D /* minidump_generator_test_helper.cc in Sources */,
				D23F4BB812A868F700686C8D /* MachIPC.mm in Sources */,
				D246417012BAA40E005170D0 /* exception_handler.cc in Sources */,
				D246417112BAA41C005170D0 /* crash_generation_client.cc in Sources */,
				D246417512BAA438005170D0 /* minidump_generator.cc in Sources */,
				D246417612BAA43F005170D0 /* dynamic_images.cc in Sources */,
				D246417712BAA444005170D0 /* breakpad_nlist_64.cc in Sources */,
				D246418812BAA4E3005170D0 /* string_utilities.cc in Sources */,
				D246418C12BAA508005170D0 /* minidump_file_writer.cc in Sources */,
				D246419012BAA52A005170D0 /* string_conversion.cc in Sources */,
				D246419112BAA52F005170D0 /* convert_UTF.c in Sources */,
				D246419512BAA54C005170D0 /* file_id.cc in Sources */,
				D246419612BAA55A005170D0 /* macho_id.cc in Sources */,
				D24641A012BAA67F005170D0 /* macho_walker.cc in Sources */,
				D24641AF12BAA82D005170D0 /* macho_utilities.cc in Sources */,
				4D72CA2513DFAE1C006CABE3 /* md5.cc in Sources */,
				4D61A26C14F43D42002D5862 /* bootstrap_compat.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D2F9A41212131EF0002747C1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D2F9A43D12131F55002747C1 /* gmock-all.cc in Sources */,
				D2F9A44012131F65002747C1 /* gtest_main.cc in Sources */,
				D2F9A44112131F65002747C1 /* gtest-all.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D2F9A52D121383A1002747C1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D2F9A553121383DC002747C1 /* crash_generation_server_test.cc in Sources */,
				D2F9A52E121383A1002747C1 /* crash_generation_client.cc in Sources */,
				D2F9A52F121383A1002747C1 /* crash_generation_server.cc in Sources */,
				D2F9A530121383A1002747C1 /* MachIPC.mm in Sources */,
				D2F9A531121383A1002747C1 /* breakpad_nlist_64.cc in Sources */,
				D2F9A532121383A1002747C1 /* dynamic_images.cc in Sources */,
				D2F9A533121383A1002747C1 /* exception_handler.cc in Sources */,
				D2F9A534121383A1002747C1 /* minidump_generator.cc in Sources */,
				D2F9A535121383A1002747C1 /* minidump_file_writer.cc in Sources */,
				D2F9A536121383A1002747C1 /* convert_UTF.c in Sources */,
				D2F9A537121383A1002747C1 /* string_conversion.cc in Sources */,
				D2F9A538121383A1002747C1 /* file_id.cc in Sources */,
				D2F9A539121383A1002747C1 /* macho_id.cc in Sources */,
				D2F9A53A121383A1002747C1 /* macho_utilities.cc in Sources */,
				D2F9A53B121383A1002747C1 /* macho_walker.cc in Sources */,
				D2F9A53C121383A1002747C1 /* string_utilities.cc in Sources */,
				D24641EC12BAC6FB005170D0 /* logging.cc in Sources */,
				D24641ED12BAC6FB005170D0 /* minidump.cc in Sources */,
				D24641EE12BAC6FB005170D0 /* pathname_stripper.cc in Sources */,
				D24641EF12BAC6FB005170D0 /* basic_code_modules.cc in Sources */,
				4D72CA3913DFAE92006CABE3 /* md5.cc in Sources */,
				4D61A26F14F43D48002D5862 /* bootstrap_compat.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C53510ECCE349009BE4BA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F92C53B80ECCE7B3009BE4BA /* Inspector.mm in Sources */,
				F9286B3A0F7EB25800A4DCC8 /* InspectorMain.mm in Sources */,
				163201E31443029300C4DBF5 /* ConfigFile.mm in Sources */,
				4D61A26B14F43D3C002D5862 /* bootstrap_compat.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C56390ECD10B3009BE4BA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F4F916B619F10FFC00B83BE4 /* launch_reporter.cc in Sources */,
				162F64F4161C579B00CD68D5 /* arch_utilities.cc in Sources */,
				162F64F5161C579B00CD68D5 /* arch_utilities.h in Sources */,
				D2A5DD301188633800081F03 /* breakpad_nlist_64.cc in Sources */,
				F92C563F0ECD10CA009BE4BA /* convert_UTF.c in Sources */,
				F92C56400ECD10CA009BE4BA /* dynamic_images.cc in Sources */,
				F92C56410ECD10CA009BE4BA /* file_id.cc in Sources */,
				F92C56420ECD10CA009BE4BA /* macho_id.cc in Sources */,
				F92C56430ECD10CA009BE4BA /* macho_utilities.cc in Sources */,
				F92C56440ECD10CA009BE4BA /* macho_walker.cc in Sources */,
				F92C56450ECD10CA009BE4BA /* MachIPC.mm in Sources */,
				4D72CA0E13DFAD5C006CABE3 /* md5.cc in Sources */,
				F92C56460ECD10CA009BE4BA /* minidump_file_writer.cc in Sources */,
				F92C56470ECD10CA009BE4BA /* minidump_generator.cc in Sources */,
				F92C56490ECD10CA009BE4BA /* string_utilities.cc in Sources */,
				F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */,
				4D61A25F14F43CFC002D5862 /* bootstrap_compat.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F92C569D0ECE04A7009BE4BA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */,
				F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */,
				F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */,
				16E02DB8147410F0008C604D /* uploader.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93803BB0F80820F004D428B /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D2C1DBE412AFC270006917BD /* logging.cc in Sources */,
				D2C1DBE512AFC270006917BD /* minidump.cc in Sources */,
				D2C1DBE612AFC270006917BD /* pathname_stripper.cc in Sources */,
				D2C1DBE712AFC270006917BD /* basic_code_modules.cc in Sources */,
				D2F9A4DF12133AD9002747C1 /* crash_generation_client.cc in Sources */,
				D2F9A4E012133AD9002747C1 /* crash_generation_server.cc in Sources */,
				D24BBD291211EDB100F3D417 /* MachIPC.mm in Sources */,
				D2A5DD401188640400081F03 /* breakpad_nlist_64.cc in Sources */,
				F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */,
				F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */,
				F93803CF0F8083B7004D428B /* minidump_generator.cc in Sources */,
				F93803D00F8083B7004D428B /* minidump_file_writer.cc in Sources */,
				F93803D10F8083B7004D428B /* convert_UTF.c in Sources */,
				F93803D20F8083B7004D428B /* string_conversion.cc in Sources */,
				F93803D30F8083B7004D428B /* file_id.cc in Sources */,
				F93803D40F8083B7004D428B /* macho_id.cc in Sources */,
				F93803D50F8083B7004D428B /* macho_utilities.cc in Sources */,
				F93803D60F8083B7004D428B /* macho_walker.cc in Sources */,
				F93803D70F8083B7004D428B /* string_utilities.cc in Sources */,
				D23F4B2E12A7E13200686C8D /* minidump_generator_test.cc in Sources */,
				4D72CA2F13DFAE65006CABE3 /* md5.cc in Sources */,
				4D61A26D14F43D43002D5862 /* bootstrap_compat.cc in Sources */,
				1EEEB62B1720868C00F7E689 /* simple_string_dictionary.cc in Sources */,
				1EEEB62A1720859200F7E689 /* simple_string_dictionary_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93DE2CE0F82A67300608B94 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F93DE2D90F82A73500608B94 /* minidump_file_writer.cc in Sources */,
				F93DE2DA0F82A73500608B94 /* convert_UTF.c in Sources */,
				F93DE2DB0F82A73500608B94 /* string_conversion.cc in Sources */,
				F93DE2D80F82A70E00608B94 /* minidump_file_writer_unittest.cc in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F93DE3290F82C55600608B94 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				4247E6412110D7A300482558 /* memory_allocator_unittest.cc in Sources */,
				D244536A12426F00009BBCE0 /* logging.cc in Sources */,
				D244536B12426F00009BBCE0 /* minidump.cc in Sources */,
				D244536C12426F00009BBCE0 /* pathname_stripper.cc in Sources */,
				D244536D12426F00009BBCE0 /* basic_code_modules.cc in Sources */,
				D2F9A4E112133AE2002747C1 /* crash_generation_client.cc in Sources */,
				D2F9A4E212133AE2002747C1 /* crash_generation_server.cc in Sources */,
				D24BBD321212CACF00F3D417 /* MachIPC.mm in Sources */,
				D2A5DD411188642E00081F03 /* breakpad_nlist_64.cc in Sources */,
				F93DE3350F82C66B00608B94 /* dynamic_images.cc in Sources */,
				F93DE3360F82C66B00608B94 /* exception_handler.cc in Sources */,
				F93DE3370F82C66B00608B94 /* minidump_generator.cc in Sources */,
				F93DE3380F82C66B00608B94 /* minidump_file_writer.cc in Sources */,
				F93DE3390F82C66B00608B94 /* convert_UTF.c in Sources */,
				F93DE33A0F82C66B00608B94 /* string_conversion.cc in Sources */,
				F93DE33B0F82C66B00608B94 /* file_id.cc in Sources */,
				F93DE33C0F82C66B00608B94 /* macho_id.cc in Sources */,
				F93DE33D0F82C66B00608B94 /* macho_utilities.cc in Sources */,
				F93DE33E0F82C66B00608B94 /* macho_walker.cc in Sources */,
				F93DE33F0F82C66B00608B94 /* string_utilities.cc in Sources */,
				D2F9A3D51212F87C002747C1 /* exception_handler_test.cc in Sources */,
				4D72CA3813DFAE91006CABE3 /* md5.cc in Sources */,
				4D61A26E14F43D45002D5862 /* bootstrap_compat.cc in Sources */,
				1EEEB6271720831E00F7E689 /* BreakpadFramework_Test.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C44DA20EF060A8003AEBAA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C44DB20EF07288003AEBAA /* Controller.m in Sources */,
				F9C44DB60EF07288003AEBAA /* main.m in Sources */,
				F9C44DB70EF07288003AEBAA /* TestClass.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		F9C77DD60F7DD5CF0045F7DB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F9C77E130F7DDF810045F7DB /* GTMSenTestCase.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		8B31023911F0CF0600FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = all_unittests;
			targetProxy = 8B31023811F0CF0600FCF3E4 /* PBXContainerItemProxy */;
		};
		8B31051711F1010E00FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F93803BD0F80820F004D428B /* generator_test */;
			targetProxy = 8B31051611F1010E00FCF3E4 /* PBXContainerItemProxy */;
		};
		8B31051911F1010E00FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */;
			targetProxy = 8B31051811F1010E00FCF3E4 /* PBXContainerItemProxy */;
		};
		8B31051B11F1010E00FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F93DE32B0F82C55600608B94 /* handler_test */;
			targetProxy = 8B31051A11F1010E00FCF3E4 /* PBXContainerItemProxy */;
		};
		8B31051D11F1010E00FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = macho_dump;
			targetProxy = 8B31051C11F1010E00FCF3E4 /* PBXContainerItemProxy */;
		};
		8B31051F11F1010E00FCF3E4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = minidump_upload;
			targetProxy = 8B31051E11F1010E00FCF3E4 /* PBXContainerItemProxy */;
		};
		D23F4B3012A7E16200686C8D /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D2F9A41412131EF0002747C1 /* gtest */;
			targetProxy = D23F4B2F12A7E16200686C8D /* PBXContainerItemProxy */;
		};
		D23F4BBA12A8694C00686C8D /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D23F4BAA12A868A500686C8D /* minidump_generator_test_helper */;
			targetProxy = D23F4BB912A8694C00686C8D /* PBXContainerItemProxy */;
		};
		D2F9A44312131F80002747C1 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D2F9A41412131EF0002747C1 /* gtest */;
			targetProxy = D2F9A44212131F80002747C1 /* PBXContainerItemProxy */;
		};
		D2F9A52B121383A1002747C1 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D2F9A41412131EF0002747C1 /* gtest */;
			targetProxy = D2F9A52C121383A1002747C1 /* PBXContainerItemProxy */;
		};
		D2F9A5DF12142A6A002747C1 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D2F9A52A121383A1002747C1 /* crash_generation_server_test */;
			targetProxy = D2F9A5DE12142A6A002747C1 /* PBXContainerItemProxy */;
		};
		F91AF6380FD60A74009D8BE2 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
			targetProxy = F91AF6370FD60A74009D8BE2 /* PBXContainerItemProxy */;
		};
		F92C564E0ECD10E5009BE4BA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
			targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
		};
		F92C56860ECD15EF009BE4BA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
			targetProxy = F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */;
		};
		F92C56880ECD15F1009BE4BA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C53530ECCE349009BE4BA /* Inspector */;
			targetProxy = F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */;
		};
		F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F93803BD0F80820F004D428B /* generator_test */;
			targetProxy = F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */;
		};
		F93DE3700F82CC1300608B94 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F93DE32B0F82C55600608B94 /* handler_test */;
			targetProxy = F93DE36F0F82CC1300608B94 /* PBXContainerItemProxy */;
		};
		F93DE3A70F830D1D00608B94 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F9C77DD90F7DD5CF0045F7DB /* UnitTests */;
			targetProxy = F93DE3A60F830D1D00608B94 /* PBXContainerItemProxy */;
		};
		F94585880F78232B009A47BF /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
			targetProxy = F94585870F78232B009A47BF /* PBXContainerItemProxy */;
		};
		F945858A0F78232E009A47BF /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C53530ECCE349009BE4BA /* Inspector */;
			targetProxy = F94585890F78232E009A47BF /* PBXContainerItemProxy */;
		};
		F945858C0F782330009A47BF /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
			targetProxy = F945858B0F782330009A47BF /* PBXContainerItemProxy */;
		};
		F945858E0F782333009A47BF /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
			targetProxy = F945858D0F782333009A47BF /* PBXContainerItemProxy */;
		};
		F94585900F782336009A47BF /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F9C44DA40EF060A8003AEBAA /* BreakpadTest */;
			targetProxy = F945858F0F782336009A47BF /* PBXContainerItemProxy */;
		};
		F95BB8B3101F94D300AA053B /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = dump_syms;
			targetProxy = F95BB8B2101F94D300AA053B /* PBXContainerItemProxy */;
		};
		F95BB8B5101F94D300AA053B /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = symupload;
			targetProxy = F95BB8B4101F94D300AA053B /* PBXContainerItemProxy */;
		};
		F95BB8B7101F94D300AA053B /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = crash_report;
			targetProxy = F95BB8B6101F94D300AA053B /* PBXContainerItemProxy */;
		};
		F9C44E1A0EF0790F003AEBAA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
			targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
		};
		F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
			targetProxy = F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		33880C7E0F9E097100817F82 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				33880C7F0F9E097100817F82 /* English */,
				DE43468711C7295D004F095F /* da */,
				DE43468611C72958004F095F /* de */,
				DE43468811C7295F004F095F /* es */,
				DE43468911C72964004F095F /* fr */,
				DE43468A11C72967004F095F /* it */,
				DE43468B11C7296B004F095F /* ja */,
				DE43468C11C7296D004F095F /* nl */,
				DE43468D11C7296F004F095F /* no */,
				DE43468E11C72971004F095F /* sl */,
				DE43468F11C72973004F095F /* sv */,
				DE43469011C72976004F095F /* tr */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		F945849C0F280E3C009A47BF /* Localizable.strings */ = {
			isa = PBXVariantGroup;
			children = (
				F945849D0F280E3C009A47BF /* English */,
				DE43467411C72855004F095F /* da */,
				DE43467511C72857004F095F /* de */,
				DE43467611C7285B004F095F /* es */,
				DE43467711C72862004F095F /* fr */,
				DE43467811C72869004F095F /* it */,
				DE43467E11C728DC004F095F /* ja */,
				DE43467911C7286D004F095F /* nl */,
				DE43467A11C72873004F095F /* no */,
				DE43467B11C72877004F095F /* sl */,
				DE43467C11C7287A004F095F /* sv */,
				DE43467F11C728E1004F095F /* tr */,
			);
			name = Localizable.strings;
			sourceTree = "<group>";
		};
		F9C44DB80EF072A0003AEBAA /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				F9C44DB90EF072A0003AEBAA /* English */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		F9C44DBA0EF072A0003AEBAA /* MainMenu.xib */ = {
			isa = PBXVariantGroup;
			children = (
				F9C44DBB0EF072A0003AEBAA /* English */,
			);
			name = MainMenu.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		1DEB91AE08733DA50010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = Framework/Info.plist;
				INSTALL_PATH = "@executable_path/../Frameworks";
				PRODUCT_NAME = Breakpad;
				WRAPPER_EXTENSION = framework;
			};
			name = Debug;
		};
		1DEB91AF08733DA50010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = Framework/Info.plist;
				INSTALL_PATH = "@executable_path/../Frameworks";
				PRODUCT_NAME = Breakpad;
				WRAPPER_EXTENSION = framework;
			};
			name = Release;
		};
		1DEB91B208733DA50010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
			buildSettings = {
				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
				SDKROOT = macosx10.5;
			};
			name = Debug;
		};
		1DEB91B308733DA50010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */;
			buildSettings = {
				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
			};
			name = Release;
		};
		D23F4BAD12A868A600686C8D /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				HEADER_SEARCH_PATHS = ../..;
				INSTALL_PATH = /usr/local/bin;
				PREBINDING = NO;
				PRODUCT_NAME = minidump_generator_test_helper;
			};
			name = Debug;
		};
		D23F4BAE12A868A600686C8D /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				HEADER_SEARCH_PATHS = ../..;
				INSTALL_PATH = /usr/local/bin;
				PREBINDING = NO;
				PRODUCT_NAME = minidump_generator_test_helper;
			};
			name = "Debug With Code Coverage";
		};
		D23F4BAF12A868A600686C8D /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				GCC_MODEL_TUNING = G5;
				HEADER_SEARCH_PATHS = ../..;
				INSTALL_PATH = /usr/local/bin;
				PREBINDING = NO;
				PRODUCT_NAME = minidump_generator_test_helper;
				ZERO_LINK = NO;
			};
			name = Release;
		};
		D2F9A41612131EF0002747C1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				PREBINDING = NO;
				PRODUCT_NAME = gtest;
			};
			name = Debug;
		};
		D2F9A41712131EF0002747C1 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				PREBINDING = NO;
				PRODUCT_NAME = gtest;
			};
			name = "Debug With Code Coverage";
		};
		D2F9A41812131EF0002747C1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				PREBINDING = NO;
				PRODUCT_NAME = gtest;
				ZERO_LINK = NO;
			};
			name = Release;
		};
		D2F9A543121383A1002747C1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = "BP_LOGGING_INCLUDE=\\\"client/mac/tests/testlogging.h\\\"";
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				HEADER_SEARCH_PATHS = (
					../..,
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/build/Debug\"",
				);
				PRODUCT_NAME = crash_generation_server_test;
			};
			name = Debug;
		};
		D2F9A544121383A1002747C1 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../..,
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\\\"$(SRCROOT)/build/Debug\\\"",
				);
				PRODUCT_NAME = crash_generation_server_test;
			};
			name = "Debug With Code Coverage";
		};
		D2F9A545121383A1002747C1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../..,
					../../testing/googlemock,
					../../testing/googlemock/include,
					../../testing/googletest,
					../../testing/googletest/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\\\"$(SRCROOT)/build/Debug\\\"",
				);
				PRODUCT_NAME = crash_generation_server_test;
			};
			name = Release;
		};
		F92C53560ECCE34A009BE4BA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = Inspector;
			};
			name = Debug;
		};
		F92C53570ECCE34A009BE4BA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = Inspector;
			};
			name = Release;
		};
		F92C563D0ECD10B3009BE4BA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				HEADER_SEARCH_PATHS = ../..;
				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-headerpad_max_install_names",
				);
				PRODUCT_NAME = breakpadUtilities;
			};
			name = Debug;
		};
		F92C563E0ECD10B3009BE4BA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				HEADER_SEARCH_PATHS = ../..;
				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-headerpad_max_install_names",
				);
				PRODUCT_NAME = breakpadUtilities;
			};
			name = Release;
		};
		F92C56A30ECE04A8009BE4BA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
				PRODUCT_NAME = crash_report_sender;
			};
			name = Debug;
		};
		F92C56A40ECE04A8009BE4BA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
				PRODUCT_NAME = crash_report_sender;
			};
			name = Release;
		};
		F93803C00F808210004D428B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "BP_LOGGING_INCLUDE=\\\"client/mac/tests/testlogging.h\\\"";
				HEADER_SEARCH_PATHS = (
					../..,
					../../..,
					../../testing/googlemock/include,
					../../testing/googletest/include,
				);
				PRODUCT_NAME = generator_test;
			};
			name = Debug;
		};
		F93803C10F808210004D428B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../..,
					../../..,
					../../testing/googlemock/include,
					../../testing/googletest/include,
				);
				PRODUCT_NAME = generator_test;
			};
			name = Release;
		};
		F93DE2D30F82A67400608B94 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = minidump_file_writer_unittest;
			};
			name = Debug;
		};
		F93DE2D40F82A67400608B94 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = minidump_file_writer_unittest;
			};
			name = Release;
		};
		F93DE32E0F82C55700608B94 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
				GCC_PREPROCESSOR_DEFINITIONS = "BP_LOGGING_INCLUDE=\\\"client/mac/tests/testlogging.h\\\"";
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				HEADER_SEARCH_PATHS = (
					../../..,
					../..,
					../../testing/googletest,
					../../testing/googletest/include,
					../../testing/googlemock,
					../../testing/googlemock/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/build/Debug\"",
				);
				PRODUCT_NAME = handler_test;
			};
			name = Debug;
		};
		F93DE32F0F82C55700608B94 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../../..,
					../..,
					../../testing/googletest,
					../../testing/googletest/include,
					../../testing/googlemock,
					../../testing/googlemock/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/build/Debug\"",
				);
				PRODUCT_NAME = handler_test;
			};
			name = Release;
		};
		F93DE3B90F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
			buildSettings = {
				GCC_TREAT_WARNINGS_AS_ERRORS = NO;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BA0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				FRAMEWORK_VERSION = A;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = Framework/Breakpad_Prefix.pch;
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = Framework/Info.plist;
				INSTALL_PATH = "@executable_path/../Frameworks";
				PRODUCT_NAME = Breakpad;
				WRAPPER_EXTENSION = framework;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BB0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = Inspector;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BC0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				HEADER_SEARCH_PATHS = ../..;
				LD_DYLIB_INSTALL_NAME = "@executable_path/../Resources/$(EXECUTABLE_PATH)";
				OTHER_LDFLAGS = (
					"$(inherited)",
					"-headerpad_max_install_names",
				);
				PRODUCT_NAME = breakpadUtilities;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BD0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = "sender/crash_report_sender-Info.plist";
				PRODUCT_NAME = crash_report_sender;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BE0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
				INFOPLIST_FILE = testapp/Info.plist;
				PRODUCT_NAME = BreakpadTest;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3BF0F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = All;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3C00F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(DEVELOPER_FRAMEWORKS_DIR)\"",
				);
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				HEADER_SEARCH_PATHS = ../..;
				INFOPLIST_FILE = "UnitTests-Info.plist";
				PRODUCT_NAME = UnitTests;
				WRAPPER_EXTENSION = octest;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3C10F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../..,
					../../..,
					../../testing/googlemock/include,
					../../testing/googletest/include,
				);
				PRODUCT_NAME = generator_test;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3C20F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = ../..;
				PRODUCT_NAME = minidump_file_writer_unittest;
			};
			name = "Debug With Code Coverage";
		};
		F93DE3C30F830E7000608B94 /* Debug With Code Coverage */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				HEADER_SEARCH_PATHS = (
					../../..,
					../..,
					../../testing/googletest,
					../../testing/googletest/include,
					../../testing/googlemock,
					../../testing/googlemock/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(SRCROOT)/build/Debug\"",
				);
				PRODUCT_NAME = handler_test;
			};
			name = "Debug With Code Coverage";
		};
		F94585850F782326009A47BF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = All;
			};
			name = Debug;
		};
		F94585860F782326009A47BF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = All;
			};
			name = Release;
		};
		F9C44DA80EF060A8003AEBAA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
				INFOPLIST_FILE = testapp/Info.plist;
				PRODUCT_NAME = BreakpadTest;
			};
			name = Debug;
		};
		F9C44DA90EF060A8003AEBAA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)";
				INFOPLIST_FILE = testapp/Info.plist;
				PRODUCT_NAME = BreakpadTest;
			};
			name = Release;
		};
		F9C77DDC0F7DD5D00045F7DB /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(DEVELOPER_FRAMEWORKS_DIR)\"",
				);
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				INFOPLIST_FILE = "UnitTests-Info.plist";
				PRODUCT_NAME = UnitTests;
				WRAPPER_EXTENSION = octest;
			};
			name = Debug;
		};
		F9C77DDD0F7DD5D00045F7DB /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"\"$(DEVELOPER_FRAMEWORKS_DIR)\"",
				);
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				INFOPLIST_FILE = "UnitTests-Info.plist";
				PRODUCT_NAME = UnitTests;
				WRAPPER_EXTENSION = octest;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB91AE08733DA50010E9CD /* Debug */,
				F93DE3BA0F830E7000608B94 /* Debug With Code Coverage */,
				1DEB91AF08733DA50010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB91B208733DA50010E9CD /* Debug */,
				F93DE3B90F830E7000608B94 /* Debug With Code Coverage */,
				1DEB91B308733DA50010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D23F4BB012A868C400686C8D /* Build configuration list for PBXNativeTarget "minidump_generator_test_helper" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D23F4BAD12A868A600686C8D /* Debug */,
				D23F4BAE12A868A600686C8D /* Debug With Code Coverage */,
				D23F4BAF12A868A600686C8D /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D2F9A42D12131F0E002747C1 /* Build configuration list for PBXNativeTarget "gtest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D2F9A41612131EF0002747C1 /* Debug */,
				D2F9A41712131EF0002747C1 /* Debug With Code Coverage */,
				D2F9A41812131EF0002747C1 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D2F9A542121383A1002747C1 /* Build configuration list for PBXNativeTarget "crash_generation_server_test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D2F9A543121383A1002747C1 /* Debug */,
				D2F9A544121383A1002747C1 /* Debug With Code Coverage */,
				D2F9A545121383A1002747C1 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F92C53580ECCE36D009BE4BA /* Build configuration list for PBXNativeTarget "Inspector" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F92C53560ECCE34A009BE4BA /* Debug */,
				F93DE3BB0F830E7000608B94 /* Debug With Code Coverage */,
				F92C53570ECCE34A009BE4BA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F92C56670ECD11A3009BE4BA /* Build configuration list for PBXNativeTarget "breakpadUtilities" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F92C563D0ECD10B3009BE4BA /* Debug */,
				F93DE3BC0F830E7000608B94 /* Debug With Code Coverage */,
				F92C563E0ECD10B3009BE4BA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F92C56A50ECE04A8009BE4BA /* Build configuration list for PBXNativeTarget "crash_report_sender" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F92C56A30ECE04A8009BE4BA /* Debug */,
				F93DE3BD0F830E7000608B94 /* Debug With Code Coverage */,
				F92C56A40ECE04A8009BE4BA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F93803C40F80822E004D428B /* Build configuration list for PBXNativeTarget "generator_test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F93803C00F808210004D428B /* Debug */,
				F93DE3C10F830E7000608B94 /* Debug With Code Coverage */,
				F93803C10F808210004D428B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F93DE2D60F82A67700608B94 /* Build configuration list for PBXNativeTarget "minidump_file_writer_unittest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F93DE2D30F82A67400608B94 /* Debug */,
				F93DE3C20F830E7000608B94 /* Debug With Code Coverage */,
				F93DE2D40F82A67400608B94 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F93DE3320F82C5D800608B94 /* Build configuration list for PBXNativeTarget "handler_test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F93DE32E0F82C55700608B94 /* Debug */,
				F93DE3C30F830E7000608B94 /* Debug With Code Coverage */,
				F93DE32F0F82C55700608B94 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F94585930F78235C009A47BF /* Build configuration list for PBXAggregateTarget "All" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F94585850F782326009A47BF /* Debug */,
				F93DE3BF0F830E7000608B94 /* Debug With Code Coverage */,
				F94585860F782326009A47BF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F9C44DAA0EF060A9003AEBAA /* Build configuration list for PBXNativeTarget "BreakpadTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F9C44DA80EF060A8003AEBAA /* Debug */,
				F93DE3BE0F830E7000608B94 /* Debug With Code Coverage */,
				F9C44DA90EF060A8003AEBAA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		F9C77DDE0F7DD5D00045F7DB /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				F9C77DDC0F7DD5D00045F7DB /* Debug */,
				F93DE3C00F830E7000608B94 /* Debug With Code Coverage */,
				F9C77DDD0F7DD5D00045F7DB /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
}
