Xfer Photos
Check-in [f6d9288bc6]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
SHA1 Hash:f6d9288bc65975cebbaca69a364906d036d01b12
Date: 2011-03-10 11:39:10
User: hellerf
Comment:Initial commit
Tags And Properties
Changes
[hide diffs]    [patch]

Added Classes/CommonMacros.h

@@ -1,0 +1,127 @@
+/* See LICENSE.txt for details */
+
+/**
+ * This file defines a common set of macros and DebugLog functions for TrippingFestParty
+ */
+
+
+#import <Foundation/Foundation.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __GNUC__
+#define likely(x)       __builtin_expect((x),1)
+#define unlikely(x)     __builtin_expect((x),0)
+#elif
+#define likely(x)
+#define unlikely(x)
+#endif
+
+
+#ifndef NDEBUG
+#define TF_DEBUG
+#endif
+
+#define TF_ARRAY_SIZE(x) (sizeof(x) / (sizeof(*x)))
+#ifndef MAX
+#define MAX(a,b) (a>=b) ? a : b
+#endif
+#ifndef MIN
+#define MIN(a,b) (a<=b) ? a : b
+#endif
+#ifndef CLAMP
+#define CLAMP(X, lower, upper) (MIN(MAX((X),(lower)), (upper)))
+#endif
+
+#define DebugPrintFrame(f) DebugLog(@"origin.x:%f,origin.y:%f size.w:%f size.h:%f",f.origin.x, f.origin.y, f.size.width,f.size.height);
+
+#define ReleaseLog(format...) _DebugLog(__FILE__,__LINE__,format);
+void _DebugLog(const char* file, int line, NSString* format, ...);
+void _CDebugLog(const char* file, int line, const char* format, ...);
+void _DebugAssert(const char* file, int line, int exprResult, const char* expr, NSString* format, ...);
+
+#ifdef TF_DEBUG
+#define TF_ASSERTS 1
+
+#define DebugLog(format...) _DebugLog(__FILE__,__LINE__,format)
+#define CDebugLog(format...) _CDebugLog(__FILE__,__LINE__,format)
+#define DebugCode(_expr) _expr
+#else
+#define DebugLog(x, ...)
+#define CDebugLog(x, ...)
+#define DebugCode(_expr)
+#endif
+
+#ifdef TF_ASSERTS
+#define DebugAssertLog(format...) _DebugLog(__FILE__, __LINE__ ,format);
+#define CDebugAssertLog(format...) _CDebugLog(__FILE__, __LINE__, format);
+/**
+ * [C]DebugAssert(BOOL expression, NSString* formatString, ... (arguments to formatString))
+ */
+#define DebugAssert(_expr, format...) _DebugAssert(__FILE__,__LINE__,_expr,#_expr, format);
+#define CDebugAssert(_expr, ...) if (!(_expr)) { printf("%s:%s %s\n",__FILE__,TF_TO_STRING((__LINE__)),#_expr); CDebugAssertLog(__VA_ARGS__); abort(); }
+#else
+#define DebugAssert(x, ...)
+#define CDebugAssert(x, ...)
+#endif
+
+/**
+ * If passed nil, returns an empty NSSet
+ */
+NSSet* emptyForNil(NSSet* set);
+
+
+/**
+ * DWORD = Double Word = 64 bits
+ */
+union UDWORD_64 {
+	uint64_t dword;
+	uint32_t words[2];
+	uint16_t halfwords[4];
+	uint8_t bytes[8];
+};
+
+
+union UWORD_32 {
+	uint32_t word;
+	uint16_t halfwords[2];
+	uint8_t bytes[4];
+};
+
+union WORD_32 {
+	int32_t word;
+	int16_t halfwords[2];
+	int8_t bytes[4];
+};
+/**
+ * Convert an array of 4 bytes into a uint32_t
+ */
+inline uint32_t uint8_t_2_uint32_t(uint8_t* bytes) {
+	union UWORD_32 w;
+	for (int i = 0; i < 4; i++) {
+		w.bytes[i] = bytes[i];
+	}
+	return w.word;
+	/* faster but not-endian-safe version
+	uint32_t* bytesAddr = (uint32_t*)bytes;
+	return *bytesAddr; */
+}
+/**
+ * Convert a uint32_t into an array of uint8_t
+ */
+inline uint8_t* uint32_t_2_uint8_t(uint32_t bytes) {
+	/** #ENDIANESS **/
+	uint8_t* bytesAddr = & ((uint8_t*)&bytes)[0];
+	return bytesAddr;
+}
+
+inline BOOL floatEqual(float a, float b) {
+	return (fabsf(a - b) <= 0.001f);
+}
+#ifdef __cplusplus
+}
+#endif
+

Added Classes/CommonMacros.m

@@ -1,0 +1,59 @@
+/* See LICENSE.txt for details */
+
+
+#import "CommonMacros.h"
+
+void _DebugAssert(const char* file, int line, int exprResult, const char* expr, NSString* format, ...) {
+	if (unlikely(!(exprResult))) {
+		const char* fname = strrchr(file, '/');
+		va_list l;
+		va_start(l,format);
+		NSString* debugString = [[NSString alloc] initWithFormat:format arguments:l];
+		NSData* debugStringCStr = [debugString dataUsingEncoding:NSUTF8StringEncoding];
+		fprintf(stdout, "%s:%d %s\n", fname, line, (char*)[debugStringCStr bytes]);
+		NSLogv(format,l);
+		va_end(l);
+		/*
+		UIAlertView* av = [[UIAlertView alloc] initWithTitle:@"Assertion" message:debugString delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
+		[av show];
+		[av release];
+		 */
+		abort();
+	}
+}
+
+void _CDebugLog(const char* file, int line, const char* format, ...) {
+	printf("%s:%d ", file, line);
+	va_list l;
+	va_start(l, format);
+	vprintf(format, l);
+	va_end(l);
+	putc('\n', stdout);
+}
+
+void _DebugLog(const char* file, int line, NSString* format, ...) {
+
+	/* find base file name */
+	const char* filename = strrchr(file, '/');
+
+	va_list l;
+	va_start(l,format);
+	NSString* debugString = [[NSString alloc] initWithFormat:format arguments:l];
+	va_end(l);
+	NSData* debugStringCStr = [debugString dataUsingEncoding:NSUTF8StringEncoding];
+	printf("%s:%d ", filename, line);
+	/* I want it all: null bytes and everything, which won't word in a printf */
+	fwrite([debugStringCStr bytes], [debugString length], 1, stdout);
+	printf("\n");
+	[debugString release];
+}
+
+/**
+ * If passed nil, returns an empty NSSet
+ */
+NSSet* emptyForNil(NSSet* set) {
+	if (set == nil) {
+		return [[[NSSet alloc] init] autorelease];
+	}
+	return set;
+}

Added Classes/RootViewController.h

@@ -1,0 +1,10 @@
+/* See LICENSE.txt for details */
+
+#import <UIKit/UIKit.h>
+
+@interface RootViewController : UIViewController {
+
+
+}
+
+@end

Added Classes/RootViewController.m

@@ -1,0 +1,74 @@
+/* See LICENSE.txt for details */
+
+#import "RootViewController.h"
+#import <AssetsLibrary/AssetsLibrary.h>
+#import "http_server.h"
+struct http_server server;
+@implementation RootViewController
+
+
+#pragma mark -
+#pragma mark View lifecycle
+- (void)viewDidLoad {
+    [super viewDidLoad];
+	[NSThread detachNewThreadSelector:@selector(serverThread) toTarget:self withObject:nil];
+}
+-(void) serverThread {
+	http_server_setup(&server);
+	http_server_loop(&server);
+}
+
+/*
+ - (void)viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+ }
+ */
+/*
+ - (void)viewDidAppear:(BOOL)animated {
+ [super viewDidAppear:animated];
+ }
+ */
+/*
+ - (void)viewWillDisappear:(BOOL)animated {
+ [super viewWillDisappear:animated];
+ }
+ */
+/*
+ - (void)viewDidDisappear:(BOOL)animated {
+ [super viewDidDisappear:animated];
+ }
+ */
+
+/*
+ // Override to allow orientations other than the default portrait orientation.
+ - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ // Return YES for supported orientations.
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+ }
+ */
+
+
+#pragma mark -
+#pragma mark Memory management
+
+- (void)didReceiveMemoryWarning {
+    // Releases the view if it doesn't have a superview.
+    [super didReceiveMemoryWarning];
+
+    // Relinquish ownership any cached data, images, etc that aren't in use.
+}
+
+- (void)viewDidUnload {
+    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
+    // For example: self.myOutlet = nil;
+	server.is_running = 0;
+}
+
+
+- (void)dealloc {
+    [super dealloc];
+}
+
+
+@end
+

Added Classes/XferPhotosAppDelegate.h

@@ -1,0 +1,21 @@
+//
+//  XferPhotosAppDelegate.h
+//  XferPhotos
+//
+//  Created by fu on 3/7/11.
+//  Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface XferPhotosAppDelegate : NSObject <UIApplicationDelegate> {
+
+    UIWindow *window;
+    UINavigationController *navigationController;
+}
+
+@property (nonatomic, retain) IBOutlet UIWindow *window;
+@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
+
+@end
+

Added Classes/XferPhotosAppDelegate.m

@@ -1,0 +1,90 @@
+//
+//  XferPhotosAppDelegate.m
+//  XferPhotos
+//
+//  Created by fu on 3/7/11.
+//  Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "XferPhotosAppDelegate.h"
+#import "RootViewController.h"
+
+
+@implementation XferPhotosAppDelegate
+
+@synthesize window;
+@synthesize navigationController;
+
+
+#pragma mark -
+#pragma mark Application lifecycle
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+
+    // Override point for customization after application launch.
+
+    // Add the navigation controller's view to the window and display.
+    [self.window addSubview:navigationController.view];
+    [self.window makeKeyAndVisible];
+
+    return YES;
+}
+
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+    /*
+     Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+     Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+     */
+}
+
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+    /*
+     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+     If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
+     */
+}
+
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+    /*
+     Called as part of  transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
+     */
+}
+
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+    /*
+     Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+     */
+}
+
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+    /*
+     Called when the application is about to terminate.
+     See also applicationDidEnterBackground:.
+     */
+}
+
+
+#pragma mark -
+#pragma mark Memory management
+
+- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
+    /*
+     Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
+     */
+}
+
+
+- (void)dealloc {
+	[navigationController release];
+	[window release];
+	[super dealloc];
+}
+
+
+@end
+

Added Classes/http_server.h

@@ -1,0 +1,30 @@
+/* See LICENSE.txt for details */
+
+#import <sys/socket.h>
+
+/**
+ * This is a crappy multithreaded implementation of ~1/10th of HTTP/1.0
+ * It is meant to respond to requests made with the wget program and the Firefox web browser
+ * It understands HTTP HEAD and GET requests for things in the AssetsLibrary
+ *
+ * If a client requests the / URL, an HTML document with a list of links is presented
+ * This list has links in the following format:
+ * /Apple UTI code of the asset/AssetLibrary URL of the asset
+ * The server only knows how to parse those two types of URL paths (the / and the one mentioned one line above)
+ */
+
+
+struct connection_context {
+	int sock_fd;
+	struct sockaddr remote_addr;
+	socklen_t remote_addr_len;
+};
+
+struct http_server {
+	int is_running;
+	int bind_socket;
+};
+
+
+int http_server_setup(struct http_server* server);
+int http_server_loop(struct http_server* server);

Added Classes/http_server.m

@@ -1,0 +1,253 @@
+/* See LICENSE.txt for details */
+
+#import "http_server.h"
+#import <sys/socket.h>
+#import <netdb.h>
+#import <stdint.h>
+#import <pthread.h>
+#import "CommonMacros.h"
+#import <unistd.h>
+#import <net/if.h>
+#import <AssetsLibrary/AssetsLibrary.h>
+#import <arpa/inet.h>
+#include <ifaddrs.h>
+
+
+static void* http_request_handle(void* conn_ctx);
+static void http_respond(int fd, uint32_t http_response_code, const char* response_message);
+static int read_nbytes(int fd, uint8_t* dest, uint32_t nbytes, uint32_t max_bytes);
+static void http_write_asset(int fd, const char* asset_url, NSString* asset_representation_uti, const char* mime_type);
+
+const int CONNECTION_BACKLOG = 100;
+const int LISTEN_PORT = 8080;
+
+int http_server_setup(struct http_server* server) {
+	/* calls, socket, setsockopt(SO_REUSEADDR) bind, and listen */
+
+	server->bind_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+	if (-1 == server->bind_socket) {
+		perror("socket");
+		abort();
+	}
+	struct sockaddr_in saddr = {0};
+	saddr.sin_len = sizeof(saddr);
+	saddr.sin_port = htons(LISTEN_PORT);
+	saddr.sin_addr.s_addr = INADDR_ANY;
+	saddr.sin_family = AF_INET;
+	uint32_t reuse_addr = 1;
+	setsockopt(server->bind_socket, SOL_SOCKET, SO_REUSEADDR, &reuse_addr, sizeof(reuse_addr));
+	if (0 != bind(server->bind_socket, (struct sockaddr*) &saddr, sizeof(saddr))) {
+		perror("bind");
+		abort();
+	}
+	if (0 != listen(server->bind_socket, CONNECTION_BACKLOG)) {
+		perror("listen");
+		abort();
+	}
+	server->is_running = 1;
+	struct addrinfo* local_info = NULL;
+	/* Try to print out the IP address of this device */
+	struct ifaddrs* interface_addrs = NULL, *interface_addrs_p;
+	getifaddrs(&interface_addrs);
+	interface_addrs_p = interface_addrs;
+	while (NULL != interface_addrs_p) {
+		char host[256];
+		char serv[256];
+		getnameinfo(interface_addrs_p->ifa_addr, interface_addrs_p->ifa_addr->sa_len, host, sizeof(host), serv, sizeof(serv), 0);
+		printf("Host:%s Service:%s\n", host, serv);
+		interface_addrs_p = interface_addrs_p->ifa_next;
+	}
+	if (NULL != interface_addrs) {
+		freeifaddrs(interface_addrs);
+	}
+
+	return 0;
+}
+
+static int read_nbytes(int fd, uint8_t* dest, uint32_t nbytes, uint32_t max_bytes) {
+	int bytes_read;
+	uint32_t total_bytes_read = 0;
+	uintptr_t dest_ptr = (uintptr_t)dest;
+	while ((bytes_read = read(fd, (void*)dest_ptr, max_bytes)) > 0) {
+		total_bytes_read += bytes_read;
+		if (total_bytes_read >= nbytes) {
+			return total_bytes_read;
+		}
+		dest_ptr = (uintptr_t)dest;
+		dest_ptr += total_bytes_read;
+	}
+	return total_bytes_read;
+}
+
+static void http_respond(int fd, uint32_t http_response_code, const char* response_message) {
+	char response_line[1024];
+	snprintf(response_line, sizeof(response_line),
+			 "HTTP/1.0 %u %s\r\n"
+			 "Server: WSA Custom\r\n"
+			 "Content-Length: 0\r\n"
+			 "Accept-Ranges: bytes\r\n",
+			 http_response_code,
+			 response_message);
+	write(fd, response_line, strlen(response_line));
+}
+
+static void http_url_handle(struct connection_context* ctx, const char* url) {
+	if (0 == strcmp(url, "/")) {
+		/* Return an HTML document containing a link to every photo asset */
+		NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
+		NSMutableString* htmlOut = [[NSMutableString alloc] initWithCapacity:5*1024];
+		ALAssetsLibrary* photos = [[ALAssetsLibrary alloc] init];
+		[photos enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:
+		 ^(ALAssetsGroup *group, BOOL *stop) {
+			 [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop){
+				 if  ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto] ||[[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeUnknown]) {
+					 NSString* rep;
+					 /* prefer PNG to JPG*/
+					 if (nil != [[result valueForProperty:ALAssetPropertyURLs] objectForKey:@"public.png"]) {
+						 rep = @"public.png";
+					 } else {
+						 rep = @"public.jpeg";
+					 }
+					 NSString* urlString = [[[[result valueForProperty:ALAssetPropertyURLs] objectForKey:rep] absoluteString] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+					 [htmlOut appendFormat:@"<a href=\"/%@/%@\">%u</a><br>\n", rep, urlString, arc4random()];
+				 }
+			 }];
+		 }
+							failureBlock:^(NSError* error) {
+								NSLog(@"Failureblock error %@", error);
+							}];
+		const char* htmlBody = [htmlOut cStringUsingEncoding:NSUTF8StringEncoding];
+		char headerBuffer[256];
+		const char HTML_START[] =
+		"HTTP/1.0 200 OK\r\n"
+		"Content-Type: text/html\r\n";
+		write(ctx->sock_fd, HTML_START, sizeof(HTML_START) - 1);
+		sprintf(headerBuffer, "Content-Length: %u\r\n\r\n", [htmlOut length]);
+		write(ctx->sock_fd, headerBuffer, strlen(headerBuffer));
+		write(ctx->sock_fd, htmlBody, [htmlOut length]);
+		[htmlOut release];
+		[pool release];
+	} else if (0 == strcmp(url, "/robots.txt")) { /* wget requests robots.txt...here it is */
+		const char ROBOTS_TXT[] =
+		"HTTP/1.0 200 OK\r\n"
+		"Content-Type: text/plain\r\n"
+		"Content-Length: 23\r\n\r\n"
+		"User-agent: *\n"
+		"Disallow:";
+		write(ctx->sock_fd, ROBOTS_TXT, sizeof(ROBOTS_TXT)-1);
+	} else {
+		if (strlen(url) > strlen("/public.jpeg/") && '/' == url[0]) { /* we got an asset library URL? */
+			const char* assetTypeEnd = strchr(&url[2], '/');
+			NSString* rep;
+			const char* mime_type;
+			/* it's either a png or a jpg */
+			if (0 == strncmp("/public.jpeg/", url, strlen("/public.jpeg/"))) {
+				rep = @"public.jpeg";
+				mime_type = "image/jpg";
+			} else {
+				rep = @"public.png";
+				mime_type = "image/png";
+			}
+			http_write_asset(ctx->sock_fd, &assetTypeEnd[1], rep, mime_type);
+		}
+	}
+}
+
+static void http_write_asset(int fd, const char* asset_url, NSString* asset_representation_uti, const char* mime_type) {
+	NSString* assetURLString = [[NSString alloc] initWithBytesNoCopy:asset_url length:strlen(asset_url) encoding:NSUTF8StringEncoding freeWhenDone:NO];
+	NSURL* assetURL = [[NSURL alloc] initWithString:assetURLString];
+	[assetURLString release];
+	ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
+
+	[library assetForURL:assetURL
+
+			 resultBlock:^(ALAsset* asset) {
+				 ALAssetRepresentation* rep = [asset representationForUTI:asset_representation_uti];
+				 uint8_t* assetBuffer = (uint8_t*) malloc([rep size]);
+				 NSError* error = nil;
+				 [rep getBytes:assetBuffer fromOffset:0 length:[rep size] error:&error];
+				 DebugAssert(nil == error, @"Error: %@");
+				 const char HTTP_OK[] = "HTTP/1.0 200 OK\r\n";
+				 write(fd, HTTP_OK, sizeof(HTTP_OK) - 1);
+				 char contentLength[52];
+				 sprintf(contentLength, "\r\nContent-Length: %lld\r\n\r\n", [rep size]);
+				 const char CONTENT_TYPE_PREFIX[] = "Content-Type: ";
+				 write(fd, CONTENT_TYPE_PREFIX, sizeof(CONTENT_TYPE_PREFIX)-1);
+				 write(fd, mime_type, strlen(mime_type));
+				 write(fd, contentLength, strlen(contentLength));
+				 write(fd, assetBuffer, [rep size]);
+				 free(assetBuffer);
+			 }
+			failureBlock:^(NSError* error) {
+				DebugAssert(0, @"Couldn't get asset bytes representation (%@) for Asset URL:%@ (error:%@)", asset_representation_uti, assetURLString, error);
+			}
+	 ];
+	[assetURL release];
+	[library release];
+}
+
+static void* http_request_handle(void* conn_ctx) {
+	struct connection_context* ctx = (struct connection_context*) conn_ctx;
+	uint8_t request_buffer[PAGE_SIZE];
+	int bytes_read;
+	int32_t bareMinimumRequestLength = strlen("GET / HTTP/1.0\r\n\r\n");
+	/* Make sure HTTP method is GET or HEAD */
+	bytes_read = read_nbytes(ctx->sock_fd, request_buffer, bareMinimumRequestLength, sizeof(request_buffer));
+	/* Make sure we at least get the bare minimum request */
+	if (unlikely( bytes_read < bareMinimumRequestLength )) {
+		http_respond(ctx->sock_fd, 400, "Bad Request--not GET");
+		CDebugLog("Unable to get HTTP method from request");
+		close(ctx->sock_fd);
+		free(ctx);
+		return NULL;
+	}
+
+	if (unlikely( 0 != strncmp(request_buffer, "GET", 3) )) {
+		/* HEAD means that the server wants the response headers, but no body */
+		if (0 == strncmp(request_buffer, "HEAD", 4)) {
+			http_respond(ctx->sock_fd, 200, "OK");
+			close(ctx->sock_fd);
+			free(ctx);
+			return NULL;
+		} else {
+			http_respond(ctx->sock_fd, 400, "Bad Request--not GET");
+			CDebugLog("Unable to get HTTP method from request");
+			close(ctx->sock_fd);
+			free(ctx);
+			return NULL;
+		}
+	}
+	/* At this point, we have a GET request with a URL */
+	/* pull out the URL and make sure it has some semblence of validity */
+	const char* url_begin = &request_buffer[4]; /* assume URL is after a "GET " */
+	const char* url_end = strchr(url_begin, ' ');
+	if (NULL == url_end || url_end == url_begin) {
+		http_respond(ctx->sock_fd, 400, "Bad URL");
+		free(ctx);
+		return NULL;
+	}
+	/* copy the URL to its own separate storage */
+	ptrdiff_t url_size = url_end - url_begin;
+	char url[url_size+1];
+	memcpy(url, url_begin, url_size);
+	url[url_size] = 0;
+	CDebugLog("Request for URL %s", url);
+	http_url_handle(ctx, url);
+	close(ctx->sock_fd);
+	free(ctx);
+	return NULL;
+}
+
+int http_server_loop(struct http_server* server) {
+	while (server->is_running) {
+		struct connection_context* ctx = (struct connection_context*) malloc(sizeof(*ctx));
+		ctx->sock_fd = accept(server->bind_socket, &ctx->remote_addr, &ctx->remote_addr_len);
+		if (-1 != ctx->sock_fd) {
+			pthread_t thread;
+			pthread_create(&thread, NULL, &http_request_handle, ctx);
+		} else {
+			free(ctx);
+		}
+	}
+	return 0;
+}

Added MainWindow.xib

@@ -1,0 +1,559 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+	<data>
+		<int key="IBDocument.SystemTarget">1056</int>
+		<string key="IBDocument.SystemVersion">10J567</string>
+		<string key="IBDocument.InterfaceBuilderVersion">823</string>
+		<string key="IBDocument.AppKitVersion">1038.35</string>
+		<string key="IBDocument.HIToolboxVersion">462.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+			<string key="NS.object.0">132</string>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<integer value="18"/>
+		</object>
+		<object class="NSArray" key="IBDocument.PluginDependencies">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="NSArray" key="dict.sortedKeys" id="0">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+			<object class="NSMutableArray" key="dict.values">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+			</object>
+		</object>
+		<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+			<bool key="EncodedWithXMLCoder">YES</bool>
+			<object class="IBProxyObject" id="841351856">
+				<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBProxyObject" id="302016328">
+				<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUICustomObject" id="664661524">
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+			</object>
+			<object class="IBUIWindow" id="380026005">
+				<nil key="NSNextResponder"/>
+				<int key="NSvFlags">1316</int>
+				<object class="NSPSMatrix" key="NSFrameMatrix"/>
+				<string key="NSFrameSize">{320, 480}</string>
+				<object class="NSColor" key="IBUIBackgroundColor">
+					<int key="NSColorSpace">1</int>
+					<bytes key="NSRGB">MSAxIDEAA</bytes>
+				</object>
+				<bool key="IBUIOpaque">NO</bool>
+				<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+				<bool key="IBUIResizesToFullScreen">YES</bool>
+			</object>
+			<object class="IBUIViewController" id="311621299">
+				<object class="IBUIView" key="IBUIView" id="91720110">
+					<reference key="NSNextResponder"/>
+					<int key="NSvFlags">274</int>
+					<object class="NSMutableArray" key="NSSubviews">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="IBUILabel" id="783759988">
+							<reference key="NSNextResponder" ref="91720110"/>
+							<int key="NSvFlags">292</int>
+							<string key="NSFrame">{{20, 201}, {90, 21}}</string>
+							<reference key="NSSuperview" ref="91720110"/>
+							<bool key="IBUIOpaque">NO</bool>
+							<bool key="IBUIClipsSubviews">YES</bool>
+							<int key="IBUIContentMode">7</int>
+							<bool key="IBUIUserInteractionEnabled">NO</bool>
+							<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+							<string key="IBUIText">Exists URL:</string>
+							<object class="NSColor" key="IBUITextColor" id="506609168">
+								<int key="NSColorSpace">1</int>
+								<bytes key="NSRGB">MCAwIDAAA</bytes>
+							</object>
+							<object class="NSColor" key="IBUIHighlightedColor" id="808207808">
+								<int key="NSColorSpace">3</int>
+								<bytes key="NSWhite">MQA</bytes>
+							</object>
+							<int key="IBUIBaselineAdjustment">1</int>
+							<float key="IBUIMinimumFontSize">10</float>
+						</object>
+						<object class="IBUILabel" id="568173404">
+							<reference key="NSNextResponder" ref="91720110"/>
+							<int key="NSvFlags">292</int>
+							<string key="NSFrame">{{20, 127}, {98, 21}}</string>
+							<reference key="NSSuperview" ref="91720110"/>
+							<bool key="IBUIOpaque">NO</bool>
+							<bool key="IBUIClipsSubviews">YES</bool>
+							<int key="IBUIContentMode">7</int>
+							<bool key="IBUIUserInteractionEnabled">NO</bool>
+							<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+							<string key="IBUIText">Upload URL:</string>
+							<reference key="IBUITextColor" ref="506609168"/>
+							<reference key="IBUIHighlightedColor" ref="808207808"/>
+							<int key="IBUIBaselineAdjustment">1</int>
+							<float key="IBUIMinimumFontSize">10</float>
+						</object>
+					</object>
+					<string key="NSFrameSize">{320, 460}</string>
+					<reference key="NSSuperview"/>
+					<object class="NSColor" key="IBUIBackgroundColor">
+						<int key="NSColorSpace">3</int>
+						<bytes key="NSWhite">MQA</bytes>
+						<object class="NSColorSpace" key="NSCustomColorSpace">
+							<int key="NSID">2</int>
+						</object>
+					</object>
+					<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+				</object>
+				<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+				<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+					<int key="interfaceOrientation">1</int>
+				</object>
+				<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+				<bool key="IBUIHorizontal">NO</bool>
+			</object>
+		</object>
+		<object class="IBObjectContainer" key="IBDocument.Objects">
+			<object class="NSMutableArray" key="connectionRecords">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">delegate</string>
+						<reference key="source" ref="841351856"/>
+						<reference key="destination" ref="664661524"/>
+					</object>
+					<int key="connectionID">4</int>
+				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchOutletConnection" key="connection">
+						<string key="label">window</string>
+						<reference key="source" ref="664661524"/>
+						<reference key="destination" ref="380026005"/>
+					</object>
+					<int key="connectionID">5</int>
+				</object>
+			</object>
+			<object class="IBMutableOrderedSet" key="objectRecords">
+				<object class="NSArray" key="orderedObjects">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<object class="IBObjectRecord">
+						<int key="objectID">0</int>
+						<reference key="object" ref="0"/>
+						<reference key="children" ref="1000"/>
+						<nil key="parent"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">2</int>
+						<reference key="object" ref="380026005"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-1</int>
+						<reference key="object" ref="841351856"/>
+						<reference key="parent" ref="0"/>
+						<string key="objectName">File's Owner</string>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">3</int>
+						<reference key="object" ref="664661524"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">-2</int>
+						<reference key="object" ref="302016328"/>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">17</int>
+						<reference key="object" ref="311621299"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="91720110"/>
+						</object>
+						<reference key="parent" ref="0"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">18</int>
+						<reference key="object" ref="91720110"/>
+						<object class="NSMutableArray" key="children">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<reference ref="568173404"/>
+							<reference ref="783759988"/>
+						</object>
+						<reference key="parent" ref="311621299"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">19</int>
+						<reference key="object" ref="783759988"/>
+						<reference key="parent" ref="91720110"/>
+					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">20</int>
+						<reference key="object" ref="568173404"/>
+						<reference key="parent" ref="91720110"/>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="flattenedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="NSArray" key="dict.sortedKeys">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>-1.CustomClassName</string>
+					<string>-2.CustomClassName</string>
+					<string>17.CustomClassName</string>
+					<string>17.IBEditorWindowLastContentRect</string>
+					<string>17.IBPluginDependency</string>
+					<string>18.IBPluginDependency</string>
+					<string>19.IBPluginDependency</string>
+					<string>19.IBViewBoundsToFrameTransform</string>
+					<string>2.IBAttributePlaceholdersKey</string>
+					<string>2.IBEditorWindowLastContentRect</string>
+					<string>2.IBPluginDependency</string>
+					<string>20.IBPluginDependency</string>
+					<string>20.IBViewBoundsToFrameTransform</string>
+					<string>3.CustomClassName</string>
+					<string>3.IBPluginDependency</string>
+				</object>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+					<string>UIApplication</string>
+					<string>UIResponder</string>
+					<string>RootViewController</string>
+					<string>{{2464, 148}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABCHAAAwy8AAA</bytes>
+					</object>
+					<object class="NSMutableDictionary">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<reference key="dict.sortedKeys" ref="0"/>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+						</object>
+					</object>
+					<string>{{673, 376}, {320, 480}}</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+					<object class="NSAffineTransform">
+						<bytes key="NSTransformStruct">P4AAAL+AAABCHAAAwxIAAA</bytes>
+					</object>
+					<string>XferPhotosAppDelegate</string>
+					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				</object>
+			</object>
+			<object class="NSMutableDictionary" key="unlocalizedProperties">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="activeLocalization"/>
+			<object class="NSMutableDictionary" key="localizations">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<reference key="dict.sortedKeys" ref="0"/>
+				<object class="NSMutableArray" key="dict.values">
+					<bool key="EncodedWithXMLCoder">YES</bool>
+				</object>
+			</object>
+			<nil key="sourceID"/>
+			<int key="maxID">20</int>
+		</object>
+		<object class="IBClassDescriber" key="IBDocument.Classes">
+			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">RootViewController</string>
+					<string key="superclassName">UITableViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">Classes/RootViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIWindow</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBUserSource</string>
+						<string key="minorKey"/>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">XferPhotosAppDelegate</string>
+					<string key="superclassName">NSObject</string>
+					<object class="NSMutableDictionary" key="outlets">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>navigationController</string>
+							<string>window</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>UINavigationController</string>
+							<string>UIWindow</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>navigationController</string>
+							<string>window</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">navigationController</string>
+								<string key="candidateClassName">UINavigationController</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">window</string>
+								<string key="candidateClassName">UIWindow</string>
+							</object>
+						</object>
+					</object>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBProjectSource</string>
+						<string key="minorKey">Classes/XferPhotosAppDelegate.h</string>
+					</object>
+				</object>
+			</object>
+			<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+				<bool key="EncodedWithXMLCoder">YES</bool>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="48103097">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIApplication</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UILabel</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UINavigationController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier" id="720195805">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIResponder</string>
+					<string key="superclassName">NSObject</string>
+					<reference key="sourceIdentifier" ref="48103097"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchBar</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UISearchDisplayController</string>
+					<string key="superclassName">NSObject</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UITableViewController</string>
+					<string key="superclassName">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<reference key="sourceIdentifier" ref="720195805"/>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIViewController</string>
+					<string key="superclassName">UIResponder</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIWindow</string>
+					<string key="superclassName">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+					</object>
+				</object>
+			</object>
+		</object>
+		<int key="IBDocument.localizationMode">0</int>
+		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+			<integer value="1056" key="NS.object.0"/>
+		</object>
+		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+			<integer value="3100" key="NS.object.0"/>
+		</object>
+		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+		<string key="IBDocument.LastKnownRelativeProjectPath">XferPhotos.xcodeproj</string>
+		<int key="IBDocument.defaultPropertyAccessControl">3</int>
+		<string key="IBCocoaTouchPluginVersion">132</string>
+	</data>
+</archive>

Added XferPhotos-Info.plist

@@ -1,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundleExecutable</key>
+	<string>${EXECUTABLE_NAME}</string>
+	<key>CFBundleIconFile</key>
+	<string></string>
+	<key>CFBundleIdentifier</key>
+	<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>${PRODUCT_NAME}</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>NSMainNibFile</key>
+	<string>MainWindow</string>
+</dict>
+</plist>

Added XferPhotos.xcodeproj/hellerf.mode1v3

@@ -1,0 +1,1606 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActivePerspectiveName</key>
+	<string>Project</string>
+	<key>AllowedModules</key>
+	<array>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXSmartGroupTreeModule</string>
+			<key>Name</key>
+			<string>Groups and Files Outline View</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXNavigatorGroup</string>
+			<key>Name</key>
+			<string>Editor</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>XCTaskListModule</string>
+			<key>Name</key>
+			<string>Task List</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>XCDetailModule</string>
+			<key>Name</key>
+			<string>File and Smart Group Detail Viewer</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>1</string>
+			<key>Module</key>
+			<string>PBXBuildResultsModule</string>
+			<key>Name</key>
+			<string>Detailed Build Results Viewer</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>1</string>
+			<key>Module</key>
+			<string>PBXProjectFindModule</string>
+			<key>Name</key>
+			<string>Project Batch Find Tool</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>XCProjectFormatConflictsModule</string>
+			<key>Name</key>
+			<string>Project Format Conflicts List</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXBookmarksModule</string>
+			<key>Name</key>
+			<string>Bookmarks Tool</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXClassBrowserModule</string>
+			<key>Name</key>
+			<string>Class Browser</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXCVSModule</string>
+			<key>Name</key>
+			<string>Source Code Control Tool</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXDebugBreakpointsModule</string>
+			<key>Name</key>
+			<string>Debug Breakpoints Tool</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>XCDockableInspector</string>
+			<key>Name</key>
+			<string>Inspector</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>PBXOpenQuicklyModule</string>
+			<key>Name</key>
+			<string>Open Quickly Tool</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>1</string>
+			<key>Module</key>
+			<string>PBXDebugSessionModule</string>
+			<key>Name</key>
+			<string>Debugger</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>1</string>
+			<key>Module</key>
+			<string>PBXDebugCLIModule</string>
+			<key>Name</key>
+			<string>Debug Console</string>
+		</dict>
+		<dict>
+			<key>BundleLoadPath</key>
+			<string></string>
+			<key>MaxInstances</key>
+			<string>n</string>
+			<key>Module</key>
+			<string>XCSnapshotModule</string>
+			<key>Name</key>
+			<string>Snapshots Tool</string>
+		</dict>
+	</array>
+	<key>BundlePath</key>
+	<string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+	<key>Description</key>
+	<string>DefaultDescriptionKey</string>
+	<key>DockingSystemVisible</key>
+	<false/>
+	<key>Extension</key>
+	<string>mode1v3</string>
+	<key>FavBarConfig</key>
+	<dict>
+		<key>PBXProjectModuleGUID</key>
+		<string>0DC0668B132581FF00FEDA7E</string>
+		<key>XCBarModuleItemNames</key>
+		<dict/>
+		<key>XCBarModuleItems</key>
+		<array/>
+	</dict>
+	<key>FirstTimeWindowDisplayed</key>
+	<false/>
+	<key>Identifier</key>
+	<string>com.apple.perspectives.project.mode1v3</string>
+	<key>MajorVersion</key>
+	<integer>33</integer>
+	<key>MinorVersion</key>
+	<integer>0</integer>
+	<key>Name</key>
+	<string>Default</string>
+	<key>Notifications</key>
+	<array/>
+	<key>OpenEditors</key>
+	<array>
+		<dict>
+			<key>Content</key>
+			<dict>
+				<key>PBXProjectModuleGUID</key>
+				<string>0DF41CF21328D6B600E1B63C</string>
+				<key>PBXProjectModuleLabel</key>
+				<string>http_server.m</string>
+				<key>PBXSplitModuleInNavigatorKey</key>
+				<dict>
+					<key>Split0</key>
+					<dict>
+						<key>PBXProjectModuleGUID</key>
+						<string>0DF41CF31328D6B600E1B63C</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>http_server.m</string>
+						<key>_historyCapacity</key>
+						<integer>0</integer>
+						<key>bookmark</key>
+						<string>0DF41DA51328E85000E1B63C</string>
+						<key>history</key>
+						<array>
+							<string>0DF41CE81328C0AD00E1B63C</string>
+						</array>
+					</dict>
+					<key>SplitCount</key>
+					<string>1</string>
+				</dict>
+				<key>StatusBarVisibility</key>
+				<true/>
+			</dict>
+			<key>Geometry</key>
+			<dict>
+				<key>Frame</key>
+				<string>{{0, 20}, {1264, 797}}</string>
+				<key>PBXModuleWindowStatusBarHidden2</key>
+				<false/>
+				<key>RubberWindowFrame</key>
+				<string>1615 57 1264 838 1600 0 1600 900 </string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Content</key>
+			<dict>
+				<key>PBXProjectModuleGUID</key>
+				<string>0DF41BDC13289A6200E1B63C</string>
+				<key>PBXProjectModuleLabel</key>
+				<string>RootViewController.m</string>
+				<key>PBXSplitModuleInNavigatorKey</key>
+				<dict>
+					<key>Split0</key>
+					<dict>
+						<key>PBXProjectModuleGUID</key>
+						<string>0DF41BDD13289A6200E1B63C</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>RootViewController.m</string>
+						<key>_historyCapacity</key>
+						<integer>0</integer>
+						<key>bookmark</key>
+						<string>0DF41DA61328E85000E1B63C</string>
+						<key>history</key>
+						<array>
+							<string>0DF41BC813289A2F00E1B63C</string>
+						</array>
+					</dict>
+					<key>SplitCount</key>
+					<string>1</string>
+				</dict>
+				<key>StatusBarVisibility</key>
+				<true/>
+			</dict>
+			<key>Geometry</key>
+			<dict>
+				<key>Frame</key>
+				<string>{{0, 20}, {1264, 797}}</string>
+				<key>PBXModuleWindowStatusBarHidden2</key>
+				<false/>
+				<key>RubberWindowFrame</key>
+				<string>1615 57 1264 838 1600 0 1600 900 </string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Content</key>
+			<dict>
+				<key>PBXProjectModuleGUID</key>
+				<string>0DC066B713258EE200FEDA7E</string>
+				<key>PBXProjectModuleLabel</key>
+				<string>ALAsset.h</string>
+				<key>PBXSplitModuleInNavigatorKey</key>
+				<dict>
+					<key>Split0</key>
+					<dict>
+						<key>PBXProjectModuleGUID</key>
+						<string>0DC066B813258EE200FEDA7E</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>ALAsset.h</string>
+						<key>_historyCapacity</key>
+						<integer>0</integer>
+						<key>bookmark</key>
+						<string>0DF41DA71328E85000E1B63C</string>
+						<key>history</key>
+						<array>
+							<string>0DC067AB132810A500FEDA7E</string>
+						</array>
+					</dict>
+					<key>SplitCount</key>
+					<string>1</string>
+				</dict>
+				<key>StatusBarVisibility</key>
+				<true/>
+			</dict>
+			<key>Geometry</key>
+			<dict>
+				<key>Frame</key>
+				<string>{{0, 20}, {1264, 797}}</string>
+				<key>PBXModuleWindowStatusBarHidden2</key>
+				<false/>
+				<key>RubberWindowFrame</key>
+				<string>1664 56 1264 838 1600 0 1600 900 </string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Content</key>
+			<dict>
+				<key>PBXProjectModuleGUID</key>
+				<string>0DC066B113258EE200FEDA7E</string>
+				<key>PBXProjectModuleLabel</key>
+				<string>ALAssetRepresentation.h</string>
+				<key>PBXSplitModuleInNavigatorKey</key>
+				<dict>
+					<key>Split0</key>
+					<dict>
+						<key>PBXProjectModuleGUID</key>
+						<string>0DC066B213258EE200FEDA7E</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>ALAssetRepresentation.h</string>
+						<key>_historyCapacity</key>
+						<integer>0</integer>
+						<key>bookmark</key>
+						<string>0DF41DA81328E85000E1B63C</string>
+						<key>history</key>
+						<array>
+							<string>0DC067A9132810A500FEDA7E</string>
+						</array>
+					</dict>
+					<key>SplitCount</key>
+					<string>1</string>
+				</dict>
+				<key>StatusBarVisibility</key>
+				<true/>
+			</dict>
+			<key>Geometry</key>
+			<dict>
+				<key>Frame</key>
+				<string>{{0, 20}, {1264, 797}}</string>
+				<key>PBXModuleWindowStatusBarHidden2</key>
+				<false/>
+				<key>RubberWindowFrame</key>
+				<string>1896 56 1264 838 1600 0 1600 900 </string>
+			</dict>
+		</dict>
+	</array>
+	<key>PerspectiveWidths</key>
+	<array>
+		<integer>-1</integer>
+		<integer>-1</integer>
+	</array>
+	<key>Perspectives</key>
+	<array>
+		<dict>
+			<key>ChosenToolbarItems</key>
+			<array>
+				<string>active-combo-popup</string>
+				<string>action</string>
+				<string>NSToolbarFlexibleSpaceItem</string>
+				<string>debugger-enable-breakpoints</string>
+				<string>build-and-go</string>
+				<string>com.apple.ide.PBXToolbarStopButton</string>
+				<string>get-info</string>
+				<string>NSToolbarFlexibleSpaceItem</string>
+				<string>com.apple.pbx.toolbar.searchfield</string>
+			</array>
+			<key>ControllerClassBaseName</key>
+			<string></string>
+			<key>IconName</key>
+			<string>WindowOfProjectWithEditor</string>
+			<key>Identifier</key>
+			<string>perspective.project</string>
+			<key>IsVertical</key>
+			<false/>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>ContentConfiguration</key>
+					<dict>
+						<key>PBXBottomSmartGroupGIDs</key>
+						<array>
+							<string>1C37FBAC04509CD000000102</string>
+							<string>1C37FAAC04509CD000000102</string>
+							<string>1C37FABC05509CD000000102</string>
+							<string>1C37FABC05539CD112110102</string>
+							<string>E2644B35053B69B200211256</string>
+							<string>1C37FABC04509CD000100104</string>
+							<string>1CC0EA4004350EF90044410B</string>
+							<string>1CC0EA4004350EF90041110B</string>
+						</array>
+						<key>PBXProjectModuleGUID</key>
+						<string>1CE0B1FE06471DED0097A5F4</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>Files</string>
+						<key>PBXProjectStructureProvided</key>
+						<string>yes</string>
+						<key>PBXSmartGroupTreeModuleColumnData</key>
+						<dict>
+							<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+							<array>
+								<real>186</real>
+							</array>
+							<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+							<array>
+								<string>MainColumn</string>
+							</array>
+						</dict>
+						<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+						<dict>
+							<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+							<array>
+								<string>29B97314FDCFA39411CA2CEA</string>
+								<string>080E96DDFE201D6D7F000001</string>
+								<string>19C28FACFE9D520D11CA2CBB</string>
+								<string>0DC06691132585C900FEDA7E</string>
+								<string>0DF41C1213289DE000E1B63C</string>
+								<string>1C37FBAC04509CD000000102</string>
+								<string>1C37FABC05509CD000000102</string>
+							</array>
+							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+							<array>
+								<array>
+									<integer>9</integer>
+									<integer>1</integer>
+									<integer>0</integer>
+								</array>
+							</array>
+							<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+							<string>{{0, 0}, {186, 764}}</string>
+						</dict>
+						<key>PBXTopSmartGroupGIDs</key>
+						<array/>
+						<key>XCIncludePerspectivesSwitch</key>
+						<true/>
+						<key>XCSharingToken</key>
+						<string>com.apple.Xcode.GFSharingToken</string>
+					</dict>
+					<key>GeometryConfiguration</key>
+					<dict>
+						<key>Frame</key>
+						<string>{{0, 0}, {203, 782}}</string>
+						<key>GroupTreeTableConfiguration</key>
+						<array>
+							<string>MainColumn</string>
+							<real>186</real>
+						</array>
+						<key>RubberWindowFrame</key>
+						<string>54 55 1548 823 0 0 1600 878 </string>
+					</dict>
+					<key>Module</key>
+					<string>PBXSmartGroupTreeModule</string>
+					<key>Proportion</key>
+					<string>203pt</string>
+				</dict>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<true/>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CE0B20306471E060097A5F4</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>http_server.m</string>
+								<key>PBXSplitModuleInNavigatorKey</key>
+								<dict>
+									<key>Split0</key>
+									<dict>
+										<key>PBXProjectModuleGUID</key>
+										<string>1CE0B20406471E060097A5F4</string>
+										<key>PBXProjectModuleLabel</key>
+										<string>http_server.m</string>
+										<key>_historyCapacity</key>
+										<integer>0</integer>
+										<key>bookmark</key>
+										<string>0DF41DA41328E85000E1B63C</string>
+										<key>history</key>
+										<array>
+											<string>0DC066A713258EE200FEDA7E</string>
+											<string>0DC066A913258EE200FEDA7E</string>
+											<string>0DC066AB13258EE200FEDA7E</string>
+											<string>0DC0672213259D0300FEDA7E</string>
+											<string>0DC0672313259D0300FEDA7E</string>
+											<string>0DC067471325A79400FEDA7E</string>
+											<string>0DC067491325A79400FEDA7E</string>
+											<string>0DC0674B1325A79400FEDA7E</string>
+											<string>0DC0674D1325A79400FEDA7E</string>
+											<string>0DC0675C1325A8CC00FEDA7E</string>
+											<string>0DF41BCF13289A6200E1B63C</string>
+											<string>0DF41BD113289A6200E1B63C</string>
+											<string>0DF41BD313289A6200E1B63C</string>
+											<string>0DF41BE913289B3700E1B63C</string>
+											<string>0DF41C0713289C9F00E1B63C</string>
+											<string>0DF41C211328A46600E1B63C</string>
+											<string>0DF41C231328A46600E1B63C</string>
+											<string>0DF41C241328A46600E1B63C</string>
+											<string>0DF41C4B1328A64200E1B63C</string>
+											<string>0DF41CA31328B6D700E1B63C</string>
+											<string>0DF41CA41328B6D700E1B63C</string>
+											<string>0DF41CA81328B6D700E1B63C</string>
+											<string>0DF41CA91328B6D700E1B63C</string>
+											<string>0DF41CDE1328BE9600E1B63C</string>
+											<string>0DF41D001328DD8600E1B63C</string>
+											<string>0DF41D011328DD8600E1B63C</string>
+											<string>0DF41D021328DD8600E1B63C</string>
+											<string>0DF41D0D1328DE3900E1B63C</string>
+											<string>0DF41D0F1328DE3900E1B63C</string>
+											<string>0DF41D101328DE3900E1B63C</string>
+											<string>0DF41D4E1328E2E800E1B63C</string>
+											<string>0DF41D7D1328E55C00E1B63C</string>
+											<string>0DF41D7E1328E55C00E1B63C</string>
+											<string>0DF41D7F1328E55C00E1B63C</string>
+											<string>0DF41D921328E7E100E1B63C</string>
+											<string>0DF41D941328E7E100E1B63C</string>
+											<string>0DF41D961328E7E100E1B63C</string>
+										</array>
+									</dict>
+									<key>SplitCount</key>
+									<string>1</string>
+								</dict>
+								<key>StatusBarVisibility</key>
+								<true/>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 0}, {1340, 726}}</string>
+								<key>RubberWindowFrame</key>
+								<string>54 55 1548 823 0 0 1600 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXNavigatorGroup</string>
+							<key>Proportion</key>
+							<string>726pt</string>
+						</dict>
+						<dict>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CE0B20506471E060097A5F4</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Detail</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 731}, {1340, 51}}</string>
+								<key>RubberWindowFrame</key>
+								<string>54 55 1548 823 0 0 1600 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>XCDetailModule</string>
+							<key>Proportion</key>
+							<string>51pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>1340pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Project</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>XCModuleDock</string>
+				<string>PBXSmartGroupTreeModule</string>
+				<string>XCModuleDock</string>
+				<string>PBXNavigatorGroup</string>
+				<string>XCDetailModule</string>
+			</array>
+			<key>TableOfContents</key>
+			<array>
+				<string>0DF41B4513287AC700E1B63C</string>
+				<string>1CE0B1FE06471DED0097A5F4</string>
+				<string>0DF41B4613287AC700E1B63C</string>
+				<string>1CE0B20306471E060097A5F4</string>
+				<string>1CE0B20506471E060097A5F4</string>
+			</array>
+			<key>ToolbarConfigUserDefaultsMinorVersion</key>
+			<string>2</string>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.defaultV3</string>
+		</dict>
+		<dict>
+			<key>ControllerClassBaseName</key>
+			<string></string>
+			<key>IconName</key>
+			<string>WindowOfProject</string>
+			<key>Identifier</key>
+			<string>perspective.morph</string>
+			<key>IsVertical</key>
+			<integer>0</integer>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>BecomeActive</key>
+					<integer>1</integer>
+					<key>ContentConfiguration</key>
+					<dict>
+						<key>PBXBottomSmartGroupGIDs</key>
+						<array>
+							<string>1C37FBAC04509CD000000102</string>
+							<string>1C37FAAC04509CD000000102</string>
+							<string>1C08E77C0454961000C914BD</string>
+							<string>1C37FABC05509CD000000102</string>
+							<string>1C37FABC05539CD112110102</string>
+							<string>E2644B35053B69B200211256</string>
+							<string>1C37FABC04509CD000100104</string>
+							<string>1CC0EA4004350EF90044410B</string>
+							<string>1CC0EA4004350EF90041110B</string>
+						</array>
+						<key>PBXProjectModuleGUID</key>
+						<string>11E0B1FE06471DED0097A5F4</string>
+						<key>PBXProjectModuleLabel</key>
+						<string>Files</string>
+						<key>PBXProjectStructureProvided</key>
+						<string>yes</string>
+						<key>PBXSmartGroupTreeModuleColumnData</key>
+						<dict>
+							<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+							<array>
+								<real>186</real>
+							</array>
+							<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+							<array>
+								<string>MainColumn</string>
+							</array>
+						</dict>
+						<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+						<dict>
+							<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+							<array>
+								<string>29B97314FDCFA39411CA2CEA</string>
+								<string>1C37FABC05509CD000000102</string>
+							</array>
+							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+							<array>
+								<array>
+									<integer>0</integer>
+								</array>
+							</array>
+							<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+							<string>{{0, 0}, {186, 337}}</string>
+						</dict>
+						<key>PBXTopSmartGroupGIDs</key>
+						<array/>
+						<key>XCIncludePerspectivesSwitch</key>
+						<integer>1</integer>
+						<key>XCSharingToken</key>
+						<string>com.apple.Xcode.GFSharingToken</string>
+					</dict>
+					<key>GeometryConfiguration</key>
+					<dict>
+						<key>Frame</key>
+						<string>{{0, 0}, {203, 355}}</string>
+						<key>GroupTreeTableConfiguration</key>
+						<array>
+							<string>MainColumn</string>
+							<real>186</real>
+						</array>
+						<key>RubberWindowFrame</key>
+						<string>373 269 690 397 0 0 1440 878 </string>
+					</dict>
+					<key>Module</key>
+					<string>PBXSmartGroupTreeModule</string>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Morph</string>
+			<key>PreferredWidth</key>
+			<integer>300</integer>
+			<key>ServiceClasses</key>
+			<array>
+				<string>XCModuleDock</string>
+				<string>PBXSmartGroupTreeModule</string>
+			</array>
+			<key>TableOfContents</key>
+			<array>
+				<string>11E0B1FE06471DED0097A5F4</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.default.shortV3</string>
+		</dict>
+	</array>
+	<key>PerspectivesBarVisible</key>
+	<false/>
+	<key>ShelfIsVisible</key>
+	<false/>
+	<key>SourceDescription</key>
+	<string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+	<key>StatusbarIsVisible</key>
+	<true/>
+	<key>TimeStamp</key>
+	<real>0.0</real>
+	<key>ToolbarConfigUserDefaultsMinorVersion</key>
+	<string>2</string>
+	<key>ToolbarDisplayMode</key>
+	<integer>1</integer>
+	<key>ToolbarIsVisible</key>
+	<true/>
+	<key>ToolbarSizeMode</key>
+	<integer>1</integer>
+	<key>Type</key>
+	<string>Perspectives</string>
+	<key>UpdateMessage</key>
+	<string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature).  You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature.  Do you wish to update to the latest Workspace defaults for project '%@'?</string>
+	<key>WindowJustification</key>
+	<integer>5</integer>
+	<key>WindowOrderList</key>
+	<array>
+		<string>0DF41DA91328E85000E1B63C</string>
+		<string>0DF41B58132881D400E1B63C</string>
+		<string>0DF41B5A132881D400E1B63C</string>
+		<string>1CD10A99069EF8BA00B06720</string>
+		<string>0DC066B113258EE200FEDA7E</string>
+		<string>0DC066B713258EE200FEDA7E</string>
+		<string>0DF41BDC13289A6200E1B63C</string>
+		<string>0DF41CF21328D6B600E1B63C</string>
+		<string>0DC0668C132581FF00FEDA7E</string>
+		<string>1C78EAAD065D492600B07095</string>
+		<string>/Users/hellerf/scratch/RandomObjCStuff/XferPhotos/XferPhotos.xcodeproj</string>
+	</array>
+	<key>WindowString</key>
+	<string>54 55 1548 823 0 0 1600 878 </string>
+	<key>WindowToolsV3</key>
+	<array>
+		<dict>
+			<key>FirstTimeWindowDisplayed</key>
+			<false/>
+			<key>Identifier</key>
+			<string>windowTool.build</string>
+			<key>IsVertical</key>
+			<true/>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<true/>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CD0528F0623707200166675</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>http_server.m</string>
+								<key>StatusBarVisibility</key>
+								<true/>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 0}, {1600, 562}}</string>
+								<key>RubberWindowFrame</key>
+								<string>1600 56 1600 844 1600 0 1600 900 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXNavigatorGroup</string>
+							<key>Proportion</key>
+							<string>562pt</string>
+						</dict>
+						<dict>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>XCMainBuildResultsModuleGUID</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Build Results</string>
+								<key>XCBuildResultsTrigger_Collapse</key>
+								<integer>1021</integer>
+								<key>XCBuildResultsTrigger_Open</key>
+								<integer>1011</integer>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 567}, {1600, 236}}</string>
+								<key>RubberWindowFrame</key>
+								<string>1600 56 1600 844 1600 0 1600 900 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXBuildResultsModule</string>
+							<key>Proportion</key>
+							<string>236pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>803pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Build Results</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXBuildResultsModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<true/>
+			<key>TableOfContents</key>
+			<array>
+				<string>0DC0668C132581FF00FEDA7E</string>
+				<string>0DF41B4913287AC700E1B63C</string>
+				<string>1CD0528F0623707200166675</string>
+				<string>XCMainBuildResultsModuleGUID</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.buildV3</string>
+			<key>WindowContentMinSize</key>
+			<string>486 300</string>
+			<key>WindowString</key>
+			<string>1600 56 1600 844 1600 0 1600 900 </string>
+			<key>WindowToolGUID</key>
+			<string>0DC0668C132581FF00FEDA7E</string>
+			<key>WindowToolIsVisible</key>
+			<true/>
+		</dict>
+		<dict>
+			<key>FirstTimeWindowDisplayed</key>
+			<false/>
+			<key>Identifier</key>
+			<string>windowTool.debugger</string>
+			<key>IsVertical</key>
+			<true/>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>Debugger</key>
+								<dict>
+									<key>HorizontalSplitView</key>
+									<dict>
+										<key>_collapsingFrameDimension</key>
+										<real>0.0</real>
+										<key>_indexOfCollapsedView</key>
+										<integer>0</integer>
+										<key>_percentageOfCollapsedView</key>
+										<real>0.0</real>
+										<key>isCollapsed</key>
+										<string>yes</string>
+										<key>sizes</key>
+										<array>
+											<string>{{0, 0}, {347, 190}}</string>
+											<string>{{0, 190}, {347, 191}}</string>
+										</array>
+									</dict>
+									<key>VerticalSplitView</key>
+									<dict>
+										<key>_collapsingFrameDimension</key>
+										<real>0.0</real>
+										<key>_indexOfCollapsedView</key>
+										<integer>0</integer>
+										<key>_percentageOfCollapsedView</key>
+										<real>0.0</real>
+										<key>isCollapsed</key>
+										<string>yes</string>
+										<key>sizes</key>
+										<array>
+											<string>{{0, 0}, {347, 381}}</string>
+											<string>{{347, 0}, {347, 381}}</string>
+										</array>
+									</dict>
+								</dict>
+								<key>LauncherConfigVersion</key>
+								<string>8</string>
+								<key>PBXProjectModuleGUID</key>
+								<string>1C162984064C10D400B95A72</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Debug - GLUTExamples (Underwater)</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>DebugConsoleVisible</key>
+								<string>None</string>
+								<key>DebugConsoleWindowFrame</key>
+								<string>{{200, 200}, {500, 300}}</string>
+								<key>DebugSTDIOWindowFrame</key>
+								<string>{{200, 200}, {500, 300}}</string>
+								<key>Frame</key>
+								<string>{{0, 0}, {694, 381}}</string>
+								<key>PBXDebugSessionStackFrameViewKey</key>
+								<dict>
+									<key>DebugVariablesTableConfiguration</key>
+									<array>
+										<string>Name</string>
+										<real>120</real>
+										<string>Value</string>
+										<real>85</real>
+										<string>Summary</string>
+										<real>117</real>
+									</array>
+									<key>Frame</key>
+									<string>{{0, 190}, {347, 191}}</string>
+									<key>RubberWindowFrame</key>
+									<string>73 433 694 422 0 0 1600 878 </string>
+								</dict>
+								<key>RubberWindowFrame</key>
+								<string>73 433 694 422 0 0 1600 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXDebugSessionModule</string>
+							<key>Proportion</key>
+							<string>381pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>381pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Debugger</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXDebugSessionModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<true/>
+			<key>TableOfContents</key>
+			<array>
+				<string>1CD10A99069EF8BA00B06720</string>
+				<string>0DF41B4A13287AC700E1B63C</string>
+				<string>1C162984064C10D400B95A72</string>
+				<string>0DF41B4B13287AC700E1B63C</string>
+				<string>0DF41B4C13287AC700E1B63C</string>
+				<string>0DF41B4D13287AC700E1B63C</string>
+				<string>0DF41B4E13287AC700E1B63C</string>
+				<string>0DF41B4F13287AC700E1B63C</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.debugV3</string>
+			<key>WindowString</key>
+			<string>73 433 694 422 0 0 1600 878 </string>
+			<key>WindowToolGUID</key>
+			<string>1CD10A99069EF8BA00B06720</string>
+			<key>WindowToolIsVisible</key>
+			<false/>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.find</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>Dock</key>
+							<array>
+								<dict>
+									<key>ContentConfiguration</key>
+									<dict>
+										<key>PBXProjectModuleGUID</key>
+										<string>1CDD528C0622207200134675</string>
+										<key>PBXProjectModuleLabel</key>
+										<string>&lt;No Editor&gt;</string>
+										<key>PBXSplitModuleInNavigatorKey</key>
+										<dict>
+											<key>Split0</key>
+											<dict>
+												<key>PBXProjectModuleGUID</key>
+												<string>1CD0528D0623707200166675</string>
+											</dict>
+											<key>SplitCount</key>
+											<string>1</string>
+										</dict>
+										<key>StatusBarVisibility</key>
+										<integer>1</integer>
+									</dict>
+									<key>GeometryConfiguration</key>
+									<dict>
+										<key>Frame</key>
+										<string>{{0, 0}, {781, 167}}</string>
+										<key>RubberWindowFrame</key>
+										<string>62 385 781 470 0 0 1440 878 </string>
+									</dict>
+									<key>Module</key>
+									<string>PBXNavigatorGroup</string>
+									<key>Proportion</key>
+									<string>781pt</string>
+								</dict>
+							</array>
+							<key>Proportion</key>
+							<string>50%</string>
+						</dict>
+						<dict>
+							<key>BecomeActive</key>
+							<integer>1</integer>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CD0528E0623707200166675</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Project Find</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{8, 0}, {773, 254}}</string>
+								<key>RubberWindowFrame</key>
+								<string>62 385 781 470 0 0 1440 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXProjectFindModule</string>
+							<key>Proportion</key>
+							<string>50%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>428pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Project Find</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXProjectFindModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>1</integer>
+			<key>TableOfContents</key>
+			<array>
+				<string>1C530D57069F1CE1000CFCEE</string>
+				<string>1C530D58069F1CE1000CFCEE</string>
+				<string>1C530D59069F1CE1000CFCEE</string>
+				<string>1CDD528C0622207200134675</string>
+				<string>1C530D5A069F1CE1000CFCEE</string>
+				<string>1CE0B1FE06471DED0097A5F4</string>
+				<string>1CD0528E0623707200166675</string>
+			</array>
+			<key>WindowString</key>
+			<string>62 385 781 470 0 0 1440 878 </string>
+			<key>WindowToolGUID</key>
+			<string>1C530D57069F1CE1000CFCEE</string>
+			<key>WindowToolIsVisible</key>
+			<integer>0</integer>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>MENUSEPARATOR</string>
+		</dict>
+		<dict>
+			<key>FirstTimeWindowDisplayed</key>
+			<false/>
+			<key>Identifier</key>
+			<string>windowTool.debuggerConsole</string>
+			<key>IsVertical</key>
+			<true/>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<true/>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1C78EAAC065D492600B07095</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Debugger Console</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 0}, {1367, 781}}</string>
+								<key>RubberWindowFrame</key>
+								<string>1833 56 1367 822 1600 0 1600 900 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXDebugCLIModule</string>
+							<key>Proportion</key>
+							<string>781pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>781pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Debugger Console</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXDebugCLIModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<true/>
+			<key>TableOfContents</key>
+			<array>
+				<string>1C78EAAD065D492600B07095</string>
+				<string>0DF41B57132881D400E1B63C</string>
+				<string>1C78EAAC065D492600B07095</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.consoleV3</string>
+			<key>WindowString</key>
+			<string>1833 56 1367 822 1600 0 1600 900 </string>
+			<key>WindowToolGUID</key>
+			<string>1C78EAAD065D492600B07095</string>
+			<key>WindowToolIsVisible</key>
+			<true/>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.snapshots</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>Module</key>
+							<string>XCSnapshotModule</string>
+							<key>Proportion</key>
+							<string>100%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Snapshots</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>XCSnapshotModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<string>Yes</string>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.snapshots</string>
+			<key>WindowString</key>
+			<string>315 824 300 550 0 0 1440 878 </string>
+			<key>WindowToolIsVisible</key>
+			<string>Yes</string>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.scm</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1C78EAB2065D492600B07095</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>&lt;No Editor&gt;</string>
+								<key>PBXSplitModuleInNavigatorKey</key>
+								<dict>
+									<key>Split0</key>
+									<dict>
+										<key>PBXProjectModuleGUID</key>
+										<string>1C78EAB3065D492600B07095</string>
+									</dict>
+									<key>SplitCount</key>
+									<string>1</string>
+								</dict>
+								<key>StatusBarVisibility</key>
+								<integer>1</integer>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 0}, {452, 0}}</string>
+								<key>RubberWindowFrame</key>
+								<string>743 379 452 308 0 0 1280 1002 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXNavigatorGroup</string>
+							<key>Proportion</key>
+							<string>0pt</string>
+						</dict>
+						<dict>
+							<key>BecomeActive</key>
+							<integer>1</integer>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CD052920623707200166675</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>SCM</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>ConsoleFrame</key>
+								<string>{{0, 259}, {452, 0}}</string>
+								<key>Frame</key>
+								<string>{{0, 7}, {452, 259}}</string>
+								<key>RubberWindowFrame</key>
+								<string>743 379 452 308 0 0 1280 1002 </string>
+								<key>TableConfiguration</key>
+								<array>
+									<string>Status</string>
+									<real>30</real>
+									<string>FileName</string>
+									<real>199</real>
+									<string>Path</string>
+									<real>197.0950012207031</real>
+								</array>
+								<key>TableFrame</key>
+								<string>{{0, 0}, {452, 250}}</string>
+							</dict>
+							<key>Module</key>
+							<string>PBXCVSModule</string>
+							<key>Proportion</key>
+							<string>262pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>266pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>SCM</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXCVSModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>1</integer>
+			<key>TableOfContents</key>
+			<array>
+				<string>1C78EAB4065D492600B07095</string>
+				<string>1C78EAB5065D492600B07095</string>
+				<string>1C78EAB2065D492600B07095</string>
+				<string>1CD052920623707200166675</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.scm</string>
+			<key>WindowString</key>
+			<string>743 379 452 308 0 0 1280 1002 </string>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.breakpoints</string>
+			<key>IsVertical</key>
+			<integer>0</integer>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<integer>1</integer>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXBottomSmartGroupGIDs</key>
+								<array>
+									<string>1C77FABC04509CD000000102</string>
+								</array>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CE0B1FE06471DED0097A5F4</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Files</string>
+								<key>PBXProjectStructureProvided</key>
+								<string>no</string>
+								<key>PBXSmartGroupTreeModuleColumnData</key>
+								<dict>
+									<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+									<array>
+										<real>168</real>
+									</array>
+									<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+									<array>
+										<string>MainColumn</string>
+									</array>
+								</dict>
+								<key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+								<dict>
+									<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+									<array>
+										<string>1C77FABC04509CD000000102</string>
+									</array>
+									<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+									<array>
+										<array>
+											<integer>0</integer>
+										</array>
+									</array>
+									<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+									<string>{{0, 0}, {168, 350}}</string>
+								</dict>
+								<key>PBXTopSmartGroupGIDs</key>
+								<array/>
+								<key>XCIncludePerspectivesSwitch</key>
+								<integer>0</integer>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{0, 0}, {185, 368}}</string>
+								<key>GroupTreeTableConfiguration</key>
+								<array>
+									<string>MainColumn</string>
+									<real>168</real>
+								</array>
+								<key>RubberWindowFrame</key>
+								<string>315 424 744 409 0 0 1440 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXSmartGroupTreeModule</string>
+							<key>Proportion</key>
+							<string>185pt</string>
+						</dict>
+						<dict>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CA1AED706398EBD00589147</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Detail</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{{190, 0}, {554, 368}}</string>
+								<key>RubberWindowFrame</key>
+								<string>315 424 744 409 0 0 1440 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>XCDetailModule</string>
+							<key>Proportion</key>
+							<string>554pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>368pt</string>
+				</dict>
+			</array>
+			<key>MajorVersion</key>
+			<integer>3</integer>
+			<key>MinorVersion</key>
+			<integer>0</integer>
+			<key>Name</key>
+			<string>Breakpoints</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXSmartGroupTreeModule</string>
+				<string>XCDetailModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>1</integer>
+			<key>TableOfContents</key>
+			<array>
+				<string>1CDDB66807F98D9800BB5817</string>
+				<string>1CDDB66907F98D9800BB5817</string>
+				<string>1CE0B1FE06471DED0097A5F4</string>
+				<string>1CA1AED706398EBD00589147</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.breakpointsV3</string>
+			<key>WindowString</key>
+			<string>315 424 744 409 0 0 1440 878 </string>
+			<key>WindowToolGUID</key>
+			<string>1CDDB66807F98D9800BB5817</string>
+			<key>WindowToolIsVisible</key>
+			<integer>1</integer>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.debugAnimator</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>Module</key>
+							<string>PBXNavigatorGroup</string>
+							<key>Proportion</key>
+							<string>100%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Debug Visualizer</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXNavigatorGroup</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>1</integer>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.debugAnimatorV3</string>
+			<key>WindowString</key>
+			<string>100 100 700 500 0 0 1280 1002 </string>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.bookmarks</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>Module</key>
+							<string>PBXBookmarksModule</string>
+							<key>Proportion</key>
+							<string>100%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Bookmarks</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXBookmarksModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>0</integer>
+			<key>WindowString</key>
+			<string>538 42 401 187 0 0 1280 1002 </string>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.projectFormatConflicts</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>Module</key>
+							<string>XCProjectFormatConflictsModule</string>
+							<key>Proportion</key>
+							<string>100%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Project Format Conflicts</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>XCProjectFormatConflictsModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>0</integer>
+			<key>WindowContentMinSize</key>
+			<string>450 300</string>
+			<key>WindowString</key>
+			<string>50 850 472 307 0 0 1440 877</string>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.classBrowser</string>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<integer>1</integer>
+							<key>ContentConfiguration</key>
+							<dict>
+								<key>OptionsSetName</key>
+								<string>Hierarchy, all classes</string>
+								<key>PBXProjectModuleGUID</key>
+								<string>1CA6456E063B45B4001379D8</string>
+								<key>PBXProjectModuleLabel</key>
+								<string>Class Browser - NSObject</string>
+							</dict>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>ClassesFrame</key>
+								<string>{{0, 0}, {374, 96}}</string>
+								<key>ClassesTreeTableConfiguration</key>
+								<array>
+									<string>PBXClassNameColumnIdentifier</string>
+									<real>208</real>
+									<string>PBXClassBookColumnIdentifier</string>
+									<real>22</real>
+								</array>
+								<key>Frame</key>
+								<string>{{0, 0}, {630, 331}}</string>
+								<key>MembersFrame</key>
+								<string>{{0, 105}, {374, 395}}</string>
+								<key>MembersTreeTableConfiguration</key>
+								<array>
+									<string>PBXMemberTypeIconColumnIdentifier</string>
+									<real>22</real>
+									<string>PBXMemberNameColumnIdentifier</string>
+									<real>216</real>
+									<string>PBXMemberTypeColumnIdentifier</string>
+									<real>97</real>
+									<string>PBXMemberBookColumnIdentifier</string>
+									<real>22</real>
+								</array>
+								<key>PBXModuleWindowStatusBarHidden2</key>
+								<integer>1</integer>
+								<key>RubberWindowFrame</key>
+								<string>385 179 630 352 0 0 1440 878 </string>
+							</dict>
+							<key>Module</key>
+							<string>PBXClassBrowserModule</string>
+							<key>Proportion</key>
+							<string>332pt</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>332pt</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Class Browser</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>PBXClassBrowserModule</string>
+			</array>
+			<key>StatusbarIsVisible</key>
+			<integer>0</integer>
+			<key>TableOfContents</key>
+			<array>
+				<string>1C0AD2AF069F1E9B00FABCE6</string>
+				<string>1C0AD2B0069F1E9B00FABCE6</string>
+				<string>1CA6456E063B45B4001379D8</string>
+			</array>
+			<key>ToolbarConfiguration</key>
+			<string>xcode.toolbar.config.classbrowser</string>
+			<key>WindowString</key>
+			<string>385 179 630 352 0 0 1440 878 </string>
+			<key>WindowToolGUID</key>
+			<string>1C0AD2AF069F1E9B00FABCE6</string>
+			<key>WindowToolIsVisible</key>
+			<integer>0</integer>
+		</dict>
+		<dict>
+			<key>Identifier</key>
+			<string>windowTool.refactoring</string>
+			<key>IncludeInToolsMenu</key>
+			<integer>0</integer>
+			<key>Layout</key>
+			<array>
+				<dict>
+					<key>Dock</key>
+					<array>
+						<dict>
+							<key>BecomeActive</key>
+							<integer>1</integer>
+							<key>GeometryConfiguration</key>
+							<dict>
+								<key>Frame</key>
+								<string>{0, 0}, {500, 335}</string>
+								<key>RubberWindowFrame</key>
+								<string>{0, 0}, {500, 335}</string>
+							</dict>
+							<key>Module</key>
+							<string>XCRefactoringModule</string>
+							<key>Proportion</key>
+							<string>100%</string>
+						</dict>
+					</array>
+					<key>Proportion</key>
+					<string>100%</string>
+				</dict>
+			</array>
+			<key>Name</key>
+			<string>Refactoring</string>
+			<key>ServiceClasses</key>
+			<array>
+				<string>XCRefactoringModule</string>
+			</array>
+			<key>WindowString</key>
+			<string>200 200 500 356 0 0 1920 1200 </string>
+		</dict>
+	</array>
+</dict>
+</plist>

Added XferPhotos.xcodeproj/hellerf.pbxuser

@@ -1,0 +1,3376 @@
+// !$*UTF8*$!
+{
+	0DC0667D132581E900FEDA7E /* XferPhotos */ = {
+		isa = PBXExecutable;
+		activeArgIndices = (
+		);
+		argumentStrings = (
+		);
+		autoAttachOnCrash = 1;
+		breakpointsEnabled = 1;
+		configStateDict = {
+		};
+		customDataFormattersEnabled = 1;
+		dataTipCustomDataFormattersEnabled = 1;
+		dataTipShowTypeColumn = 1;
+		dataTipSortType = 0;
+		debuggerPlugin = GDBDebugging;
+		disassemblyDisplayState = 0;
+		dylibVariantSuffix = "";
+		enableDebugStr = 1;
+		environmentEntries = (
+		);
+		executableSystemSymbolLevel = 0;
+		executableUserSymbolLevel = 0;
+		libgmallocEnabled = 0;
+		name = XferPhotos;
+		savedGlobals = {
+		};
+		showTypeColumn = 0;
+		sourceDirectories = (
+		);
+		variableFormatDictionary = {
+		};
+	};
+	0DC0668E1325820000FEDA7E /* Source Control */ = {
+		isa = PBXSourceControlManager;
+		fallbackIsa = XCSourceControlManager;
+		isSCMEnabled = 0;
+		scmConfiguration = {
+			repositoryNamesForRoots = {
+				"" = "";
+			};
+		};
+	};
+	0DC0668F1325820000FEDA7E /* Code sense */ = {
+		isa = PBXCodeSenseManager;
+		indexTemplatePath = "";
+	};
+	0DC066A113258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066A213258EE200FEDA7E /* ALAssetsGroup.h */;
+		name = "ALAssetsGroup.h: 30";
+		rLen = 48;
+		rLoc = 1255;
+		rType = 0;
+		vrLen = 1382;
+		vrLoc = 566;
+	};
+	0DC066A213258EE200FEDA7E /* ALAssetsGroup.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAssetsGroup.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAssetsGroup.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1724.23, 1659}}";
+			sepNavSelRange = "{1255, 48}";
+			sepNavVisRange = "{566, 1327}";
+		};
+	};
+	0DC066A313258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066A413258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 28";
+		rLen = 1;
+		rLoc = 1614;
+		rType = 0;
+		vrLen = 2391;
+		vrLoc = 392;
+	};
+	0DC066A413258EE200FEDA7E /* ALAsset.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAsset.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAsset.h;
+		sourceTree = "<absolute>";
+	};
+	0DC066A613258EE200FEDA7E /* NSURLConnection.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSURLConnection.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLConnection.h;
+		sourceTree = "<absolute>";
+	};
+	0DC066A713258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066A813258EE200FEDA7E /* NSStream.h */;
+		name = "NSStream.h: 56";
+		rLen = 36;
+		rLoc = 1956;
+		rType = 0;
+		vrLen = 1585;
+		vrLoc = 1273;
+	};
+	0DC066A813258EE200FEDA7E /* NSStream.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSStream.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSStream.h;
+		sourceTree = "<absolute>";
+	};
+	0DC066A913258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066AA13258EE200FEDA7E /* NSURLRequest.h */;
+		name = "NSURLRequest.h: 312";
+		rLen = 46;
+		rLoc = 12687;
+		rType = 0;
+		vrLen = 969;
+		vrLoc = 12129;
+	};
+	0DC066AA13258EE200FEDA7E /* NSURLRequest.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSURLRequest.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLRequest.h;
+		sourceTree = "<absolute>";
+	};
+	0DC066AB13258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066AC13258EE200FEDA7E /* TrippingFestPartyAppDelegate.mm */;
+		name = "TrippingFestPartyAppDelegate.mm: 81";
+		rLen = 19;
+		rLoc = 3138;
+		rType = 0;
+		vrLen = 1656;
+		vrLoc = 2047;
+	};
+	0DC066AC13258EE200FEDA7E /* TrippingFestPartyAppDelegate.mm */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.cpp.objcpp;
+		name = TrippingFestPartyAppDelegate.mm;
+		path = /Users/hellerf/TrippingFest/iPad/TrippingFestParty/Classes/TrippingFestPartyAppDelegate.mm;
+		sourceTree = "<absolute>";
+	};
+	0DC066AE13258EE200FEDA7E /* ALAssetsLibrary.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAssetsLibrary.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAssetsLibrary.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {2547.84, 2898}}";
+			sepNavSelRange = "{4364, 163}";
+			sepNavVisRange = "{3156, 2476}";
+		};
+	};
+	0DC066B313258EE200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066B413258EE200FEDA7E /* ALAssetRepresentation.h */;
+		rLen = 1;
+		rLoc = 23;
+		rType = 1;
+	};
+	0DC066B413258EE200FEDA7E /* ALAssetRepresentation.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAssetRepresentation.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAssetRepresentation.h;
+		sourceTree = "<absolute>";
+	};
+	0DC066B913258EE200FEDA7E /* PBXBookmark */ = {
+		isa = PBXBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+	};
+	0DC066BA13258EE200FEDA7E /* ALAsset.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAsset.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAsset.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {3382.28, 1260}}";
+			sepNavSelRange = "{3338, 39}";
+			sepNavVisRange = "{0, 2664}";
+		};
+	};
+	0DC066EE1325933800FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066AE13258EE200FEDA7E /* ALAssetsLibrary.h */;
+		name = "ALAssetsLibrary.h: 63";
+		rLen = 40;
+		rLoc = 3107;
+		rType = 0;
+		vrLen = 1601;
+		vrLoc = 725;
+	};
+	0DC0672213259D0300FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066A613258EE200FEDA7E /* NSURLConnection.h */;
+		name = "NSURLConnection.h: 41";
+		rLen = 38;
+		rLoc = 1340;
+		rType = 0;
+		vrLen = 1443;
+		vrLoc = 22112;
+	};
+	0DC0672313259D0300FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC0672413259D0300FEDA7E /* NSURLResponse.h */;
+		name = "NSURLResponse.h: 129";
+		rLen = 17;
+		rLoc = 4885;
+		rType = 0;
+		vrLen = 903;
+		vrLoc = 4713;
+	};
+	0DC0672413259D0300FEDA7E /* NSURLResponse.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSURLResponse.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLResponse.h;
+		sourceTree = "<absolute>";
+	};
+	0DC067471325A79400FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067481325A79400FEDA7E /* Security.h */;
+		name = "Security.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1020;
+		vrLoc = 249;
+	};
+	0DC067481325A79400FEDA7E /* Security.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = Security.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h;
+		sourceTree = "<absolute>";
+	};
+	0DC067491325A79400FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC0674A1325A79400FEDA7E /* SecBase.h */;
+		name = "SecBase.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1350;
+		vrLoc = 1917;
+	};
+	0DC0674A1325A79400FEDA7E /* SecBase.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = SecBase.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h;
+		sourceTree = "<absolute>";
+	};
+	0DC0674B1325A79400FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC0674C1325A79400FEDA7E /* SecIdentity.h */;
+		name = "SecIdentity.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 965;
+		vrLoc = 1680;
+	};
+	0DC0674C1325A79400FEDA7E /* SecIdentity.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = SecIdentity.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Security.framework/Headers/SecIdentity.h;
+		sourceTree = "<absolute>";
+	};
+	0DC0674D1325A79400FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC0674E1325A79400FEDA7E /* SecItem.h */;
+		name = "SecItem.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 1311;
+		vrLoc = 44762;
+	};
+	0DC0674E1325A79400FEDA7E /* SecItem.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = SecItem.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Security.framework/Headers/SecItem.h;
+		sourceTree = "<absolute>";
+	};
+	0DC067511325A79400FEDA7E /* md5.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = md5.h;
+		path = /Users/hellerf/Downloads/md5/md5.h;
+		sourceTree = "<absolute>";
+	};
+	0DC067571325A7A100FEDA7E /* md5.c */ = {
+		isa = PBXFileReference;
+		fileEncoding = 4;
+		lastKnownFileType = sourcecode.c.c;
+		name = md5.c;
+		path = /Users/hellerf/scratch/RandomObjCStuff/XferPhotos/Classes/md5.c;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 8148}}";
+			sepNavSelRange = "{11741, 10}";
+			sepNavVisRange = "{11662, 772}";
+		};
+	};
+	0DC067581325A7A100FEDA7E /* md5.h */ = {
+		isa = PBXFileReference;
+		fileEncoding = 4;
+		lastKnownFileType = sourcecode.c.h;
+		name = md5.h;
+		path = /Users/hellerf/scratch/RandomObjCStuff/XferPhotos/Classes/md5.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 1932}}";
+			sepNavSelRange = "{3021, 0}";
+			sepNavVisRange = "{2199, 937}";
+		};
+	};
+	0DC0675C1325A8CC00FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067511325A79400FEDA7E /* md5.h */;
+		name = "md5.h: 61";
+		rLen = 0;
+		rLoc = 2638;
+		rType = 0;
+		vrLen = 1140;
+		vrLoc = 1742;
+	};
+	0DC0675D1325A8CC00FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 13";
+		rLen = 0;
+		rLoc = 111;
+		rType = 0;
+		vrLen = 286;
+		vrLoc = 0;
+	};
+	0DC0675E1325A8CC00FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067571325A7A100FEDA7E /* md5.c */;
+		name = "md5.c: 361";
+		rLen = 10;
+		rLoc = 11741;
+		rType = 0;
+		vrLen = 758;
+		vrLoc = 11676;
+	};
+	0DC0676A1325A9D200FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067581325A7A100FEDA7E /* md5.h */;
+		name = "md5.h: 74";
+		rLen = 0;
+		rLoc = 3021;
+		rType = 0;
+		vrLen = 937;
+		vrLoc = 2199;
+	};
+	0DC067A7132810A500FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 61";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1091;
+		vrLoc = 1619;
+	};
+	0DC067A8132810A500FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 61";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1091;
+		vrLoc = 1619;
+	};
+	0DC067A9132810A500FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1920;
+		vrLoc = 570;
+	};
+	0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAssetRepresentation.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAssetRepresentation.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1767.58, 1428}}";
+			sepNavSelRange = "{729, 0}";
+			sepNavVisRange = "{731, 1864}";
+		};
+	};
+	0DC067AB132810A500FEDA7E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AC132810A500FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 3024;
+		vrLoc = 484;
+	};
+	0DC067AC132810A500FEDA7E /* ALAsset.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = ALAsset.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAsset.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41B4013287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623240D0F684500981E51 /* XferPhotosAppDelegate.h */;
+		name = "XferPhotosAppDelegate.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 465;
+		vrLoc = 0;
+	};
+	0DF41B4113287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 13";
+		rLen = 0;
+		rLoc = 113;
+		rType = 0;
+		vrLen = 230;
+		vrLoc = 0;
+	};
+	0DF41B4213287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 483;
+		vrLoc = 2245;
+	};
+	0DF41B4313287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 125";
+		rLen = 0;
+		rLoc = 1103;
+		rType = 0;
+		vrLen = 818;
+		vrLoc = 3818;
+	};
+	0DF41B4413287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 39";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1226;
+		vrLoc = 860;
+	};
+	0DF41B4713287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2665;
+		vrLoc = 0;
+	};
+	0DF41B4813287AC700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41B52132881D400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 11";
+		rLen = 0;
+		rLoc = 94;
+		rType = 0;
+		vrLen = 225;
+		vrLoc = 0;
+	};
+	0DF41B53132881D400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 39";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1113;
+		vrLoc = 860;
+	};
+	0DF41B54132881D400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 76";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 755;
+		vrLoc = 3476;
+	};
+	0DF41B55132881D400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41B56132881D400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41B5D132885F600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 39";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1118;
+		vrLoc = 1345;
+	};
+	0DF41B5E132885F600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41B5F132885F600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41B631328864A00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 44";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1120;
+		vrLoc = 1345;
+	};
+	0DF41B641328864A00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 12";
+		rLen = 0;
+		rLoc = 156;
+		rType = 0;
+		vrLen = 999;
+		vrLoc = 0;
+	};
+	0DF41B651328864A00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41B661328864A00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41B6D132887A600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 61";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1000;
+		vrLoc = 1552;
+	};
+	0DF41B6E132887A600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41B6F132887A600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41B751328888D00E1B63C /* http_server.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 651}}";
+			sepNavSelRange = "{888, 0}";
+			sepNavVisRange = "{0, 888}";
+		};
+	};
+	0DF41B761328888D00E1B63C /* http_server.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {2276.92, 5124}}";
+			sepNavSelRange = "{7571, 0}";
+			sepNavVisRange = "{5247, 1574}";
+		};
+	};
+	0DF41BB1132893E500E1B63C /* CommonMacros.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1474.98, 2835}}";
+			sepNavSelRange = "{0, 34}";
+			sepNavVisRange = "{0, 518}";
+		};
+	};
+	0DF41BB2132893E500E1B63C /* CommonMacros.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1680.88, 1260}}";
+			sepNavSelRange = "{34, 0}";
+			sepNavVisRange = "{0, 945}";
+		};
+	};
+	0DF41BC813289A2F00E1B63C /* PBXBookmark */ = {
+		isa = PBXBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+	};
+	0DF41BCD13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BCE13289A6200E1B63C /* in.h */;
+		name = "in.h: 112";
+		rLen = 34;
+		rLoc = 4664;
+		rType = 0;
+		vrLen = 1320;
+		vrLoc = 4175;
+	};
+	0DF41BCE13289A6200E1B63C /* in.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = in.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/netinet/in.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 11487}}";
+			sepNavSelRange = "{12953, 17}";
+			sepNavVisRange = "{12474, 1030}";
+		};
+	};
+	0DF41BCF13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BD013289A6200E1B63C /* _stdio.h */;
+		name = "_stdio.h: 53";
+		rLen = 34;
+		rLoc = 1671;
+		rType = 0;
+		vrLen = 999;
+		vrLoc = 1295;
+	};
+	0DF41BD013289A6200E1B63C /* _stdio.h */ = {
+		isa = PBXFileReference;
+		name = _stdio.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/secure/_stdio.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41BD113289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BD213289A6200E1B63C /* stdio.h */;
+		name = "stdio.h: 348";
+		rLen = 103;
+		rLoc = 13539;
+		rType = 0;
+		vrLen = 1305;
+		vrLoc = 13074;
+	};
+	0DF41BD213289A6200E1B63C /* stdio.h */ = {
+		isa = PBXFileReference;
+		name = stdio.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/stdio.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41BD313289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BD413289A6200E1B63C /* stddef.h */;
+		name = "stddef.h: 152";
+		rLen = 36;
+		rLoc = 5474;
+		rType = 0;
+		vrLen = 660;
+		vrLoc = 5142;
+	};
+	0DF41BD413289A6200E1B63C /* stddef.h */ = {
+		isa = PBXFileReference;
+		name = stddef.h;
+		path = "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/stddef.h";
+		sourceTree = "<absolute>";
+	};
+	0DF41BD513289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 10";
+		rLen = 0;
+		rLoc = 621;
+		rType = 0;
+		vrLen = 581;
+		vrLoc = 0;
+	};
+	0DF41BD613289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BB2132893E500E1B63C /* CommonMacros.m */;
+		name = "CommonMacros.m: 14";
+		rLen = 0;
+		rLoc = 240;
+		rType = 0;
+		vrLen = 734;
+		vrLoc = 1050;
+	};
+	0DF41BD713289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 11";
+		rLen = 0;
+		rLoc = 94;
+		rType = 0;
+		vrLen = 225;
+		vrLoc = 0;
+	};
+	0DF41BD813289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BB1132893E500E1B63C /* CommonMacros.h */;
+		name = "CommonMacros.h: 24";
+		rLen = 0;
+		rLoc = 291;
+		rType = 0;
+		vrLen = 415;
+		vrLoc = 277;
+	};
+	0DF41BD913289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 136";
+		rLen = 0;
+		rLoc = 1543;
+		rType = 0;
+		vrLen = 498;
+		vrLoc = 4071;
+	};
+	0DF41BDA13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 42";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 804;
+		vrLoc = 2506;
+	};
+	0DF41BDB13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 70";
+		rLen = 0;
+		rLoc = 2696;
+		rType = 0;
+		vrLen = 785;
+		vrLoc = 1422;
+	};
+	0DF41BDE13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41BDF13289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41BE013289A6200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41BE913289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BEA13289B3700E1B63C /* socket.h */;
+		name = "socket.h: 579";
+		rLen = 9;
+		rLoc = 21107;
+		rType = 0;
+		vrLen = 790;
+		vrLoc = 20744;
+	};
+	0DF41BEA13289B3700E1B63C /* socket.h */ = {
+		isa = PBXFileReference;
+		name = socket.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/sys/socket.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41BEB13289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 137";
+		rLen = 0;
+		rLoc = 1543;
+		rType = 0;
+		vrLen = 776;
+		vrLoc = 3874;
+	};
+	0DF41BEC13289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 93";
+		rLen = 0;
+		rLoc = 8122;
+		rType = 0;
+		vrLen = 872;
+		vrLoc = 1737;
+	};
+	0DF41BED13289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 114";
+		rLen = 0;
+		rLoc = 9186;
+		rType = 0;
+		vrLen = 749;
+		vrLoc = 2611;
+	};
+	0DF41BEE13289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41BEF13289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41BF013289B3700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41BF913289BD400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 80";
+		rLen = 0;
+		rLoc = 2894;
+		rType = 0;
+		vrLen = 894;
+		vrLoc = 2150;
+	};
+	0DF41BFA13289BD400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41BFB13289BD400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41BFC13289BD400E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C0013289C1000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 92";
+		rLen = 0;
+		rLoc = 7792;
+		rType = 0;
+		vrLen = 946;
+		vrLoc = 2120;
+	};
+	0DF41C0113289C1000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C0213289C1000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C0313289C1000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C0713289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C0813289C9F00E1B63C /* string.h */;
+		name = "string.h: 100";
+		rLen = 50;
+		rLoc = 4078;
+		rType = 0;
+		vrLen = 1078;
+		vrLoc = 3552;
+	};
+	0DF41C0813289C9F00E1B63C /* string.h */ = {
+		isa = PBXFileReference;
+		name = string.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/string.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41C0913289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 22";
+		rLen = 0;
+		rLoc = 786;
+		rType = 0;
+		vrLen = 578;
+		vrLoc = 0;
+	};
+	0DF41C0A13289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 83";
+		rLen = 19;
+		rLoc = 7100;
+		rType = 0;
+		vrLen = 929;
+		vrLoc = 1708;
+	};
+	0DF41C0B13289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 83";
+		rLen = 19;
+		rLoc = 7100;
+		rType = 0;
+		vrLen = 725;
+		vrLoc = 1422;
+	};
+	0DF41C0C13289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C0D13289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C0E13289C9F00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C201328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 68";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 912;
+		vrLoc = 2435;
+	};
+	0DF41C211328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C221328A46600E1B63C /* ALAssetsFilter.h */;
+		name = "ALAssetsFilter.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 545;
+		vrLoc = 0;
+	};
+	0DF41C221328A46600E1B63C /* ALAssetsFilter.h */ = {
+		isa = PBXFileReference;
+		name = ALAssetsFilter.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/ALAssetsFilter.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41C231328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066A213258EE200FEDA7E /* ALAssetsGroup.h */;
+		name = "ALAssetsGroup.h: 30";
+		rLen = 48;
+		rLoc = 1255;
+		rType = 0;
+		vrLen = 1327;
+		vrLoc = 566;
+	};
+	0DF41C241328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C251328A46600E1B63C /* AssetsLibrary.h */;
+		name = "AssetsLibrary.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 308;
+		vrLoc = 0;
+	};
+	0DF41C251328A46600E1B63C /* AssetsLibrary.h */ = {
+		isa = PBXFileReference;
+		name = AssetsLibrary.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/AssetsLibrary.framework/Headers/AssetsLibrary.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41C261328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066AE13258EE200FEDA7E /* ALAssetsLibrary.h */;
+		name = "ALAssetsLibrary.h: 63";
+		rLen = 40;
+		rLoc = 3107;
+		rType = 0;
+		vrLen = 2673;
+		vrLoc = 3174;
+	};
+	0DF41C271328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 23";
+		rLen = 216;
+		rLoc = 594;
+		rType = 0;
+		vrLen = 2302;
+		vrLoc = 483;
+	};
+	0DF41C281328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 96";
+		rLen = 19;
+		rLoc = 3508;
+		rType = 0;
+		vrLen = 1211;
+		vrLoc = 1959;
+	};
+	0DF41C291328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 160";
+		rLen = 0;
+		rLoc = 9257;
+		rType = 0;
+		vrLen = 1070;
+		vrLoc = 3253;
+	};
+	0DF41C2A1328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C2B1328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C2C1328A46600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C301328A4AB00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 139";
+		rLen = 0;
+		rLoc = 8526;
+		rType = 0;
+		vrLen = 1029;
+		vrLoc = 3686;
+	};
+	0DF41C311328A4AB00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C321328A4AB00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C331328A4AB00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C371328A50100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 150";
+		rLen = 0;
+		rLoc = 8853;
+		rType = 0;
+		vrLen = 737;
+		vrLoc = 4460;
+	};
+	0DF41C381328A50100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C391328A50100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C3A1328A50100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C421328A59500E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 147";
+		rLen = 0;
+		rLoc = 8786;
+		rType = 0;
+		vrLen = 915;
+		vrLoc = 2918;
+	};
+	0DF41C431328A59500E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C441328A59500E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C451328A59500E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C491328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C4A1328A64200E1B63C /* types.h */;
+		name = "types.h: 357";
+		rLen = 0;
+		rLoc = 10258;
+		rType = 0;
+		vrLen = 448;
+		vrLoc = 10053;
+	};
+	0DF41C4A1328A64200E1B63C /* types.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = types.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/sys/types.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 7686}}";
+			sepNavSelRange = "{4780, 68}";
+			sepNavVisRange = "{4432, 516}";
+		};
+	};
+	0DF41C4B1328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C4C1328A64200E1B63C /* ConditionalMacros.h */;
+		name = "ConditionalMacros.h: 549";
+		rLen = 37;
+		rLoc = 23300;
+		rType = 0;
+		vrLen = 1490;
+		vrLoc = 22749;
+	};
+	0DF41C4C1328A64200E1B63C /* ConditionalMacros.h */ = {
+		isa = PBXFileReference;
+		name = ConditionalMacros.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/ConditionalMacros.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41C4D1328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 104";
+		rLen = 14;
+		rLoc = 4058;
+		rType = 0;
+		vrLen = 1294;
+		vrLoc = 2385;
+	};
+	0DF41C4E1328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 118";
+		rLen = 0;
+		rLoc = 4723;
+		rType = 0;
+		vrLen = 844;
+		vrLoc = 3011;
+	};
+	0DF41C4F1328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C501328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C511328A64200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C591328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 31";
+		rLen = 196;
+		rLoc = 1884;
+		rType = 0;
+		vrLen = 2315;
+		vrLoc = 349;
+	};
+	0DF41C5A1328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C5B1328AA9700E1B63C /* NSURL.h */;
+		name = "NSURL.h: 150";
+		rLen = 103;
+		rLoc = 9714;
+		rType = 0;
+		vrLen = 2301;
+		vrLoc = 8566;
+	};
+	0DF41C5B1328AA9700E1B63C /* NSURL.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSURL.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURL.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {7207.71, 5712}}";
+			sepNavSelRange = "{9714, 103}";
+			sepNavVisRange = "{7965, 2897}";
+		};
+	};
+	0DF41C5C1328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 103";
+		rLen = 41;
+		rLoc = 3987;
+		rType = 0;
+		vrLen = 1355;
+		vrLoc = 2111;
+	};
+	0DF41C5D1328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 104";
+		rLen = 0;
+		rLoc = 4109;
+		rType = 0;
+		vrLen = 1372;
+		vrLoc = 2025;
+	};
+	0DF41C5E1328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C5F1328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C601328AA9700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C651328ABA300E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 111";
+		rLen = 0;
+		rLoc = 4460;
+		rType = 0;
+		vrLen = 865;
+		vrLoc = 3209;
+	};
+	0DF41C661328ABA300E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C671328ABA300E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C681328ABA300E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C711328ABF600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 112";
+		rLen = 0;
+		rLoc = 4518;
+		rType = 0;
+		vrLen = 853;
+		vrLoc = 3209;
+	};
+	0DF41C721328ABF600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C731328ABF600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C741328ABF600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C771328AC2600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 111";
+		rLen = 0;
+		rLoc = 4454;
+		rType = 0;
+		vrLen = 960;
+		vrLoc = 2903;
+	};
+	0DF41C781328AC2600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C791328AC2600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C7A1328AC2600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C7F1328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C5B1328AA9700E1B63C /* NSURL.h */;
+		name = "NSURL.h: 60";
+		rLen = 14;
+		rLoc = 2912;
+		rType = 0;
+		vrLen = 1569;
+		vrLoc = 2627;
+	};
+	0DF41C801328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 98";
+		rLen = 41;
+		rLoc = 3987;
+		rType = 0;
+		vrLen = 1292;
+		vrLoc = 2408;
+	};
+	0DF41C811328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 98";
+		rLen = 81;
+		rLoc = 3876;
+		rType = 0;
+		vrLen = 1255;
+		vrLoc = 2536;
+	};
+	0DF41C821328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C831328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C841328AC9E00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41C881328AF0600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 109";
+		rLen = 0;
+		rLoc = 4401;
+		rType = 0;
+		vrLen = 1073;
+		vrLoc = 2911;
+	};
+	0DF41C891328AF0600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1097;
+		vrLoc = 2553;
+	};
+	0DF41C8A1328AF0600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41C8B1328AF0600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CA31328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C5B1328AA9700E1B63C /* NSURL.h */;
+		name = "NSURL.h: 150";
+		rLen = 103;
+		rLoc = 9714;
+		rType = 0;
+		vrLen = 2897;
+		vrLoc = 7965;
+	};
+	0DF41CA41328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066AE13258EE200FEDA7E /* ALAssetsLibrary.h */;
+		name = "ALAssetsLibrary.h: 78";
+		rLen = 163;
+		rLoc = 4364;
+		rType = 0;
+		vrLen = 2476;
+		vrLoc = 3156;
+	};
+	0DF41CA51328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 22";
+		rLen = 0;
+		rLoc = 786;
+		rType = 0;
+		vrLen = 578;
+		vrLoc = 0;
+	};
+	0DF41CA61328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BB2132893E500E1B63C /* CommonMacros.m */;
+		name = "CommonMacros.m: 14";
+		rLen = 0;
+		rLoc = 240;
+		rType = 0;
+		vrLen = 734;
+		vrLoc = 1050;
+	};
+	0DF41CA71328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 34";
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 1146;
+		vrLoc = 457;
+	};
+	0DF41CA81328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 39";
+		rLen = 122;
+		rLoc = 1324;
+		rType = 0;
+		vrLen = 1551;
+		vrLoc = 673;
+	};
+	0DF41CA91328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41CAA1328B6D700E1B63C /* NSString.h */;
+		name = "NSString.h: 288";
+		rLen = 19;
+		rLoc = 18350;
+		rType = 0;
+		vrLen = 2482;
+		vrLoc = 16381;
+	};
+	0DF41CAA1328B6D700E1B63C /* NSString.h */ = {
+		isa = PBXFileReference;
+		lastKnownFileType = sourcecode.c.h;
+		name = NSString.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h;
+		sourceTree = "<absolute>";
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {5658.03, 8862}}";
+			sepNavSelRange = "{13544, 0}";
+			sepNavVisRange = "{11363, 2894}";
+		};
+	};
+	0DF41CAB1328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 188";
+		rLen = 0;
+		rLoc = 8128;
+		rType = 0;
+		vrLen = 1074;
+		vrLoc = 6258;
+	};
+	0DF41CAC1328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 188";
+		rLen = 0;
+		rLoc = 8128;
+		rType = 0;
+		vrLen = 1074;
+		vrLoc = 6258;
+	};
+	0DF41CAD1328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1413;
+		vrLoc = 2106;
+	};
+	0DF41CAE1328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CAF1328B6D700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CB11328B6F200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 188";
+		rLen = 0;
+		rLoc = 8128;
+		rType = 0;
+		vrLen = 1074;
+		vrLoc = 6258;
+	};
+	0DF41CB21328B6F200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1413;
+		vrLoc = 2106;
+	};
+	0DF41CB31328B6F200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CB41328B6F200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CBD1328B86700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 75";
+		rLen = 0;
+		rLoc = 2796;
+		rType = 0;
+		vrLen = 1222;
+		vrLoc = 4024;
+	};
+	0DF41CBE1328B86700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1413;
+		vrLoc = 2106;
+	};
+	0DF41CBF1328B86700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CC01328B86700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CC91328B8D100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 138";
+		rLen = 0;
+		rLoc = 5530;
+		rType = 0;
+		vrLen = 1376;
+		vrLoc = 1612;
+	};
+	0DF41CCA1328B8D100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 87";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1413;
+		vrLoc = 2106;
+	};
+	0DF41CCB1328B8D100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CCC1328B8D100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CDE1328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 31";
+		rLen = 196;
+		rLoc = 1884;
+		rType = 0;
+		vrLen = 2626;
+		vrLoc = 38;
+	};
+	0DF41CDF1328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 87";
+		rLen = 19;
+		rLoc = 3744;
+		rType = 0;
+		vrLen = 1576;
+		vrLoc = 1812;
+	};
+	0DF41CE01328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 175";
+		rLen = 7;
+		rLoc = 7212;
+		rType = 0;
+		vrLen = 1073;
+		vrLoc = 6768;
+	};
+	0DF41CE11328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 89";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1432;
+		vrLoc = 2154;
+	};
+	0DF41CE21328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2665;
+		vrLoc = 0;
+	};
+	0DF41CE31328BE9600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CE81328C0AD00E1B63C /* XCBuildMessageTextBookmark */ = {
+		isa = PBXTextBookmark;
+		comments = "'BARE_MINIMUM_REQUEST' undeclared (first use in this function)";
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		fallbackIsa = XCBuildMessageTextBookmark;
+		rLen = 1;
+		rLoc = 194;
+		rType = 1;
+	};
+	0DF41CEF1328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 22";
+		rLen = 0;
+		rLoc = 786;
+		rType = 0;
+		vrLen = 373;
+		vrLoc = 0;
+	};
+	0DF41CF01328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 22";
+		rLen = 0;
+		rLoc = 635;
+		rType = 0;
+		vrLen = 872;
+		vrLoc = 135;
+	};
+	0DF41CF11328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 177";
+		rLen = 0;
+		rLoc = 7219;
+		rType = 0;
+		vrLen = 1101;
+		vrLoc = 6136;
+	};
+	0DF41CF41328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 183";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1585;
+		vrLoc = 4770;
+	};
+	0DF41CF51328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 89";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1404;
+		vrLoc = 2154;
+	};
+	0DF41CF61328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CF71328D6B600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41CF91328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 15";
+		rLen = 0;
+		rLoc = 615;
+		rType = 0;
+		vrLen = 590;
+		vrLoc = 0;
+	};
+	0DF41CFA1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 226";
+		rLen = 48;
+		rLoc = 8905;
+		rType = 0;
+		vrLen = 1010;
+		vrLoc = 7507;
+	};
+	0DF41CFB1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 102";
+		rLen = 5;
+		rLoc = 4221;
+		rType = 0;
+		vrLen = 1534;
+		vrLoc = 2676;
+	};
+	0DF41CFC1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 183";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1585;
+		vrLoc = 4770;
+	};
+	0DF41CFD1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 89";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1404;
+		vrLoc = 2154;
+	};
+	0DF41CFE1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41CFF1328DCC200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D001328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623240D0F684500981E51 /* XferPhotosAppDelegate.h */;
+		name = "XferPhotosAppDelegate.h: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 465;
+		vrLoc = 0;
+	};
+	0DF41D011328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BB1132893E500E1B63C /* CommonMacros.h */;
+		name = "CommonMacros.h: 1";
+		rLen = 34;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 518;
+		vrLoc = 0;
+	};
+	0DF41D021328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BB2132893E500E1B63C /* CommonMacros.m */;
+		name = "CommonMacros.m: 2";
+		rLen = 0;
+		rLoc = 34;
+		rType = 0;
+		vrLen = 945;
+		vrLoc = 0;
+	};
+	0DF41D031328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 3";
+		rLen = 0;
+		rLoc = 39;
+		rType = 0;
+		vrLen = 1295;
+		vrLoc = 0;
+	};
+	0DF41D041328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 1";
+		rLen = 0;
+		rLoc = 33;
+		rType = 0;
+		vrLen = 122;
+		vrLoc = 0;
+	};
+	0DF41D051328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 747;
+		vrLoc = 1980;
+	};
+	0DF41D061328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 218";
+		rLen = 0;
+		rLoc = 8902;
+		rType = 0;
+		vrLen = 1213;
+		vrLoc = 3452;
+	};
+	0DF41D071328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 2";
+		rLen = 0;
+		rLoc = 34;
+		rType = 0;
+		vrLen = 540;
+		vrLoc = 0;
+	};
+	0DF41D081328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 11";
+		rLen = 0;
+		rLoc = 412;
+		rType = 0;
+		vrLen = 645;
+		vrLoc = 0;
+	};
+	0DF41D091328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 176";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1557;
+		vrLoc = 4748;
+	};
+	0DF41D0A1328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 83";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 1108;
+		vrLoc = 2459;
+	};
+	0DF41D0B1328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D0C1328DD8600E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D0D1328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B751328888D00E1B63C /* http_server.h */;
+		name = "http_server.h: 31";
+		rLen = 0;
+		rLoc = 888;
+		rType = 0;
+		vrLen = 888;
+		vrLoc = 0;
+	};
+	0DF41D0E1328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 4";
+		rLen = 0;
+		rLoc = 81;
+		rType = 0;
+		vrLen = 913;
+		vrLoc = 1231;
+	};
+	0DF41D0F1328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286DF0D94DF7D0034E888 /* RootViewController.h */;
+		name = "RootViewController.h: 1";
+		rLen = 0;
+		rLoc = 33;
+		rType = 0;
+		vrLen = 122;
+		vrLoc = 0;
+	};
+	0DF41D101328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 16";
+		rLen = 0;
+		rLoc = 396;
+		rType = 0;
+		vrLen = 786;
+		vrLoc = 803;
+	};
+	0DF41D111328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 747;
+		vrLoc = 1980;
+	};
+	0DF41D121328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 728;
+		vrLoc = 0;
+	};
+	0DF41D131328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 175";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1607;
+		vrLoc = 4726;
+	};
+	0DF41D141328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 794;
+		vrLoc = 803;
+	};
+	0DF41D151328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D161328DE3900E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D211328DEFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 726;
+		vrLoc = 3;
+	};
+	0DF41D221328DEFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 176";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1557;
+		vrLoc = 4762;
+	};
+	0DF41D231328DEFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D241328DEFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D251328DEFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D331328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 726;
+		vrLoc = 3;
+	};
+	0DF41D341328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		rLen = 0;
+		rLoc = 185;
+		rType = 1;
+	};
+	0DF41D351328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 34";
+		rLen = 0;
+		rLoc = 1241;
+		rType = 0;
+		vrLen = 897;
+		vrLoc = 638;
+	};
+	0DF41D361328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 177";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1538;
+		vrLoc = 4872;
+	};
+	0DF41D371328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D381328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D391328DFE200E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D3D1328DFFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 21";
+		rLen = 0;
+		rLoc = 797;
+		rType = 0;
+		vrLen = 922;
+		vrLoc = 638;
+	};
+	0DF41D3E1328DFFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 177";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1538;
+		vrLoc = 4897;
+	};
+	0DF41D3F1328DFFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D401328DFFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D411328DFFF00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D4E1328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41D4F1328E2E800E1B63C /* inet.h */;
+		name = "inet.h: 99";
+		rLen = 61;
+		rLoc = 4532;
+		rType = 0;
+		vrLen = 938;
+		vrLoc = 3942;
+	};
+	0DF41D4F1328E2E800E1B63C /* inet.h */ = {
+		isa = PBXFileReference;
+		name = inet.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/arpa/inet.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41D501328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 50";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1030;
+		vrLoc = 1082;
+	};
+	0DF41D511328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 47";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1043;
+		vrLoc = 1282;
+	};
+	0DF41D521328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 190";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1638;
+		vrLoc = 4918;
+	};
+	0DF41D531328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D541328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2665;
+		vrLoc = 0;
+	};
+	0DF41D551328E2E800E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D5A1328E36000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 47";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1027;
+		vrLoc = 1311;
+	};
+	0DF41D5B1328E36000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 191";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1512;
+		vrLoc = 4931;
+	};
+	0DF41D5C1328E36000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D5D1328E36000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D5E1328E36000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D621328E38B00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 47";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1063;
+		vrLoc = 1311;
+	};
+	0DF41D631328E38B00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 191";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1570;
+		vrLoc = 4935;
+	};
+	0DF41D641328E38B00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D651328E38B00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2665;
+		vrLoc = 0;
+	};
+	0DF41D661328E38B00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D7D1328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41C4A1328A64200E1B63C /* types.h */;
+		name = "types.h: 126";
+		rLen = 68;
+		rLoc = 4780;
+		rType = 0;
+		vrLen = 516;
+		vrLoc = 4432;
+	};
+	0DF41D7E1328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41BCE13289A6200E1B63C /* in.h */;
+		name = "in.h: 304";
+		rLen = 17;
+		rLoc = 12953;
+		rType = 0;
+		vrLen = 1030;
+		vrLoc = 12474;
+	};
+	0DF41D7F1328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */;
+		name = "XferPhotosAppDelegate.m: 1";
+		rLen = 0;
+		rLoc = 0;
+		rType = 0;
+		vrLen = 729;
+		vrLoc = 0;
+	};
+	0DF41D801328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 53";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1088;
+		vrLoc = 1395;
+	};
+	0DF41D811328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 49";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1083;
+		vrLoc = 1406;
+	};
+	0DF41D821328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 196";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1443;
+		vrLoc = 4932;
+	};
+	0DF41D831328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D841328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2665;
+		vrLoc = 0;
+	};
+	0DF41D851328E55C00E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D881328E5A700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 49";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 995;
+		vrLoc = 1282;
+	};
+	0DF41D891328E5A700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 196";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1366;
+		vrLoc = 4928;
+	};
+	0DF41D8A1328E5A700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D8B1328E5A700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D8C1328E5A700E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41D921328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41D931328E7E100E1B63C /* if_var.h */;
+		name = "if_var.h: 149";
+		rLen = 17;
+		rLoc = 5777;
+		rType = 0;
+		vrLen = 1512;
+		vrLoc = 6791;
+	};
+	0DF41D931328E7E100E1B63C /* if_var.h */ = {
+		isa = PBXFileReference;
+		name = if_var.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/net/if_var.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41D941328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41D951328E7E100E1B63C /* ifaddrs.h */;
+		name = "ifaddrs.h: 52";
+		rLen = 48;
+		rLoc = 1805;
+		rType = 0;
+		vrLen = 720;
+		vrLoc = 1133;
+	};
+	0DF41D951328E7E100E1B63C /* ifaddrs.h */ = {
+		isa = PBXFileReference;
+		name = ifaddrs.h;
+		path = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/ifaddrs.h;
+		sourceTree = "<absolute>";
+	};
+	0DF41D961328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 51";
+		rLen = 10;
+		rLoc = 1628;
+		rType = 0;
+		vrLen = 933;
+		vrLoc = 1341;
+	};
+	0DF41D971328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 61";
+		rLen = 0;
+		rLoc = 2040;
+		rType = 0;
+		vrLen = 1027;
+		vrLoc = 1341;
+	};
+	0DF41D981328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 208";
+		rLen = 0;
+		rLoc = 7556;
+		rType = 0;
+		vrLen = 1366;
+		vrLoc = 5225;
+	};
+	0DF41D991328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41D9A1328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41D9B1328E7E100E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	0DF41DA41328E85000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 64";
+		rLen = 0;
+		rLoc = 2063;
+		rType = 0;
+		vrLen = 1387;
+		vrLoc = 2481;
+	};
+	0DF41DA51328E85000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DF41B761328888D00E1B63C /* http_server.m */;
+		name = "http_server.m: 197";
+		rLen = 0;
+		rLoc = 7571;
+		rType = 0;
+		vrLen = 1574;
+		vrLoc = 5247;
+	};
+	0DF41DA61328E85000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */;
+		name = "RootViewController.m: 14";
+		rLen = 0;
+		rLoc = 373;
+		rType = 0;
+		vrLen = 797;
+		vrLoc = 800;
+	};
+	0DF41DA71328E85000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC066BA13258EE200FEDA7E /* ALAsset.h */;
+		name = "ALAsset.h: 55";
+		rLen = 39;
+		rLoc = 3338;
+		rType = 0;
+		vrLen = 2664;
+		vrLoc = 0;
+	};
+	0DF41DA81328E85000E1B63C /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 0DC067AA132810A500FEDA7E /* ALAssetRepresentation.h */;
+		name = "ALAssetRepresentation.h: 30";
+		rLen = 0;
+		rLoc = 729;
+		rType = 0;
+		vrLen = 1864;
+		vrLoc = 731;
+	};
+	1D3623240D0F684500981E51 /* XferPhotosAppDelegate.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 646}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 465}";
+		};
+	};
+	1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {3035.5, 1932}}";
+			sepNavSelRange = "{0, 0}";
+			sepNavVisRange = "{0, 729}";
+		};
+	};
+	1D6058900D05DD3D006BFB54 /* XferPhotos */ = {
+		activeExec = 0;
+		executables = (
+			0DC0667D132581E900FEDA7E /* XferPhotos */,
+		);
+	};
+	28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1279, 646}}";
+			sepNavSelRange = "{33, 0}";
+			sepNavVisRange = "{0, 122}";
+		};
+	};
+	28C286E00D94DF7D0034E888 /* RootViewController.m */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = "{{0, 0}, {1205, 1575}}";
+			sepNavSelRange = "{373, 0}";
+			sepNavVisRange = "{800, 797}";
+		};
+	};
+	29B97313FDCFA39411CA2CEA /* Project object */ = {
+		activeBuildConfigurationName = Debug;
+		activeExecutable = 0DC0667D132581E900FEDA7E /* XferPhotos */;
+		activeSDKPreference = iphoneos4.2;
+		activeTarget = 1D6058900D05DD3D006BFB54 /* XferPhotos */;
+		addToTargets = (
+			1D6058900D05DD3D006BFB54 /* XferPhotos */,
+		);
+		breakpoints = (
+		);
+		codeSenseManager = 0DC0668F1325820000FEDA7E /* Code sense */;
+		executables = (
+			0DC0667D132581E900FEDA7E /* XferPhotos */,
+		);
+		perUserDictionary = {
+			PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+				PBXFileTableDataSourceColumnWidthsKey = (
+					20,
+					1101,
+					20,
+					48,
+					43,
+					43,
+					20,
+				);
+				PBXFileTableDataSourceColumnsKey = (
+					PBXFileDataSource_FiletypeID,
+					PBXFileDataSource_Filename_ColumnID,
+					PBXFileDataSource_Built_ColumnID,
+					PBXFileDataSource_ObjectSize_ColumnID,
+					PBXFileDataSource_Errors_ColumnID,
+					PBXFileDataSource_Warnings_ColumnID,
+					PBXFileDataSource_Target_ColumnID,
+				);
+			};
+			PBXPerProjectTemplateStateSaveDate = 321418338;
+			PBXWorkspaceStateSaveDate = 321418338;
+		};
+		perUserProjectItems = {
+			0DC066A113258EE200FEDA7E = 0DC066A113258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066A313258EE200FEDA7E = 0DC066A313258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066A713258EE200FEDA7E = 0DC066A713258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066A913258EE200FEDA7E = 0DC066A913258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066AB13258EE200FEDA7E = 0DC066AB13258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066B313258EE200FEDA7E = 0DC066B313258EE200FEDA7E /* PBXTextBookmark */;
+			0DC066B913258EE200FEDA7E = 0DC066B913258EE200FEDA7E /* PBXBookmark */;
+			0DC066EE1325933800FEDA7E = 0DC066EE1325933800FEDA7E /* PBXTextBookmark */;
+			0DC0672213259D0300FEDA7E = 0DC0672213259D0300FEDA7E /* PBXTextBookmark */;
+			0DC0672313259D0300FEDA7E = 0DC0672313259D0300FEDA7E /* PBXTextBookmark */;
+			0DC067471325A79400FEDA7E = 0DC067471325A79400FEDA7E /* PBXTextBookmark */;
+			0DC067491325A79400FEDA7E = 0DC067491325A79400FEDA7E /* PBXTextBookmark */;
+			0DC0674B1325A79400FEDA7E = 0DC0674B1325A79400FEDA7E /* PBXTextBookmark */;
+			0DC0674D1325A79400FEDA7E = 0DC0674D1325A79400FEDA7E /* PBXTextBookmark */;
+			0DC0675C1325A8CC00FEDA7E = 0DC0675C1325A8CC00FEDA7E /* PBXTextBookmark */;
+			0DC0675D1325A8CC00FEDA7E = 0DC0675D1325A8CC00FEDA7E /* PBXTextBookmark */;
+			0DC0675E1325A8CC00FEDA7E = 0DC0675E1325A8CC00FEDA7E /* PBXTextBookmark */;
+			0DC0676A1325A9D200FEDA7E = 0DC0676A1325A9D200FEDA7E /* PBXTextBookmark */;
+			0DC067A7132810A500FEDA7E = 0DC067A7132810A500FEDA7E /* PBXTextBookmark */;
+			0DC067A8132810A500FEDA7E = 0DC067A8132810A500FEDA7E /* PBXTextBookmark */;
+			0DC067A9132810A500FEDA7E = 0DC067A9132810A500FEDA7E /* PBXTextBookmark */;
+			0DC067AB132810A500FEDA7E = 0DC067AB132810A500FEDA7E /* PBXTextBookmark */;
+			0DF41B4013287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4013287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4113287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4113287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4213287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4213287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4313287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4313287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4413287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4413287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4713287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4713287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B4813287AC700E1B63C /* PBXTextBookmark */ = 0DF41B4813287AC700E1B63C /* PBXTextBookmark */;
+			0DF41B52132881D400E1B63C /* PBXTextBookmark */ = 0DF41B52132881D400E1B63C /* PBXTextBookmark */;
+			0DF41B53132881D400E1B63C /* PBXTextBookmark */ = 0DF41B53132881D400E1B63C /* PBXTextBookmark */;
+			0DF41B54132881D400E1B63C /* PBXTextBookmark */ = 0DF41B54132881D400E1B63C /* PBXTextBookmark */;
+			0DF41B55132881D400E1B63C /* PBXTextBookmark */ = 0DF41B55132881D400E1B63C /* PBXTextBookmark */;
+			0DF41B56132881D400E1B63C /* PBXTextBookmark */ = 0DF41B56132881D400E1B63C /* PBXTextBookmark */;
+			0DF41B5D132885F600E1B63C /* PBXTextBookmark */ = 0DF41B5D132885F600E1B63C /* PBXTextBookmark */;
+			0DF41B5E132885F600E1B63C /* PBXTextBookmark */ = 0DF41B5E132885F600E1B63C /* PBXTextBookmark */;
+			0DF41B5F132885F600E1B63C /* PBXTextBookmark */ = 0DF41B5F132885F600E1B63C /* PBXTextBookmark */;
+			0DF41B631328864A00E1B63C /* PBXTextBookmark */ = 0DF41B631328864A00E1B63C /* PBXTextBookmark */;
+			0DF41B641328864A00E1B63C /* PBXTextBookmark */ = 0DF41B641328864A00E1B63C /* PBXTextBookmark */;
+			0DF41B651328864A00E1B63C /* PBXTextBookmark */ = 0DF41B651328864A00E1B63C /* PBXTextBookmark */;
+			0DF41B661328864A00E1B63C /* PBXTextBookmark */ = 0DF41B661328864A00E1B63C /* PBXTextBookmark */;
+			0DF41B6D132887A600E1B63C /* PBXTextBookmark */ = 0DF41B6D132887A600E1B63C /* PBXTextBookmark */;
+			0DF41B6E132887A600E1B63C /* PBXTextBookmark */ = 0DF41B6E132887A600E1B63C /* PBXTextBookmark */;
+			0DF41B6F132887A600E1B63C /* PBXTextBookmark */ = 0DF41B6F132887A600E1B63C /* PBXTextBookmark */;
+			0DF41BC813289A2F00E1B63C /* PBXBookmark */ = 0DF41BC813289A2F00E1B63C /* PBXBookmark */;
+			0DF41BCD13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BCD13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BCF13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BCF13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD113289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD113289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD313289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD313289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD513289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD513289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD613289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD613289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD713289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD713289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD813289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD813289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BD913289A6200E1B63C /* PBXTextBookmark */ = 0DF41BD913289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BDA13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BDA13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BDB13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BDB13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BDE13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BDE13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BDF13289A6200E1B63C /* PBXTextBookmark */ = 0DF41BDF13289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BE013289A6200E1B63C /* PBXTextBookmark */ = 0DF41BE013289A6200E1B63C /* PBXTextBookmark */;
+			0DF41BE913289B3700E1B63C /* PBXTextBookmark */ = 0DF41BE913289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BEB13289B3700E1B63C /* PBXTextBookmark */ = 0DF41BEB13289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BEC13289B3700E1B63C /* PBXTextBookmark */ = 0DF41BEC13289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BED13289B3700E1B63C /* PBXTextBookmark */ = 0DF41BED13289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BEE13289B3700E1B63C /* PBXTextBookmark */ = 0DF41BEE13289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BEF13289B3700E1B63C /* PBXTextBookmark */ = 0DF41BEF13289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BF013289B3700E1B63C /* PBXTextBookmark */ = 0DF41BF013289B3700E1B63C /* PBXTextBookmark */;
+			0DF41BF913289BD400E1B63C /* PBXTextBookmark */ = 0DF41BF913289BD400E1B63C /* PBXTextBookmark */;
+			0DF41BFA13289BD400E1B63C /* PBXTextBookmark */ = 0DF41BFA13289BD400E1B63C /* PBXTextBookmark */;
+			0DF41BFB13289BD400E1B63C /* PBXTextBookmark */ = 0DF41BFB13289BD400E1B63C /* PBXTextBookmark */;
+			0DF41BFC13289BD400E1B63C /* PBXTextBookmark */ = 0DF41BFC13289BD400E1B63C /* PBXTextBookmark */;
+			0DF41C0013289C1000E1B63C /* PBXTextBookmark */ = 0DF41C0013289C1000E1B63C /* PBXTextBookmark */;
+			0DF41C0113289C1000E1B63C /* PBXTextBookmark */ = 0DF41C0113289C1000E1B63C /* PBXTextBookmark */;
+			0DF41C0213289C1000E1B63C /* PBXTextBookmark */ = 0DF41C0213289C1000E1B63C /* PBXTextBookmark */;
+			0DF41C0313289C1000E1B63C /* PBXTextBookmark */ = 0DF41C0313289C1000E1B63C /* PBXTextBookmark */;
+			0DF41C0713289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0713289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0913289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0913289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0A13289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0A13289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0B13289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0B13289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0C13289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0C13289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0D13289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0D13289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C0E13289C9F00E1B63C /* PBXTextBookmark */ = 0DF41C0E13289C9F00E1B63C /* PBXTextBookmark */;
+			0DF41C201328A46600E1B63C /* PBXTextBookmark */ = 0DF41C201328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C211328A46600E1B63C /* PBXTextBookmark */ = 0DF41C211328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C231328A46600E1B63C /* PBXTextBookmark */ = 0DF41C231328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C241328A46600E1B63C /* PBXTextBookmark */ = 0DF41C241328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C261328A46600E1B63C /* PBXTextBookmark */ = 0DF41C261328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C271328A46600E1B63C /* PBXTextBookmark */ = 0DF41C271328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C281328A46600E1B63C /* PBXTextBookmark */ = 0DF41C281328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C291328A46600E1B63C /* PBXTextBookmark */ = 0DF41C291328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C2A1328A46600E1B63C /* PBXTextBookmark */ = 0DF41C2A1328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C2B1328A46600E1B63C /* PBXTextBookmark */ = 0DF41C2B1328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C2C1328A46600E1B63C /* PBXTextBookmark */ = 0DF41C2C1328A46600E1B63C /* PBXTextBookmark */;
+			0DF41C301328A4AB00E1B63C /* PBXTextBookmark */ = 0DF41C301328A4AB00E1B63C /* PBXTextBookmark */;
+			0DF41C311328A4AB00E1B63C /* PBXTextBookmark */ = 0DF41C311328A4AB00E1B63C /* PBXTextBookmark */;
+			0DF41C321328A4AB00E1B63C /* PBXTextBookmark */ = 0DF41C321328A4AB00E1B63C /* PBXTextBookmark */;
+			0DF41C331328A4AB00E1B63C /* PBXTextBookmark */ = 0DF41C331328A4AB00E1B63C /* PBXTextBookmark */;
+			0DF41C371328A50100E1B63C /* PBXTextBookmark */ = 0DF41C371328A50100E1B63C /* PBXTextBookmark */;
+			0DF41C381328A50100E1B63C /* PBXTextBookmark */ = 0DF41C381328A50100E1B63C /* PBXTextBookmark */;
+			0DF41C391328A50100E1B63C /* PBXTextBookmark */ = 0DF41C391328A50100E1B63C /* PBXTextBookmark */;
+			0DF41C3A1328A50100E1B63C /* PBXTextBookmark */ = 0DF41C3A1328A50100E1B63C /* PBXTextBookmark */;
+			0DF41C421328A59500E1B63C /* PBXTextBookmark */ = 0DF41C421328A59500E1B63C /* PBXTextBookmark */;
+			0DF41C431328A59500E1B63C /* PBXTextBookmark */ = 0DF41C431328A59500E1B63C /* PBXTextBookmark */;
+			0DF41C441328A59500E1B63C /* PBXTextBookmark */ = 0DF41C441328A59500E1B63C /* PBXTextBookmark */;
+			0DF41C451328A59500E1B63C /* PBXTextBookmark */ = 0DF41C451328A59500E1B63C /* PBXTextBookmark */;
+			0DF41C491328A64200E1B63C /* PBXTextBookmark */ = 0DF41C491328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C4B1328A64200E1B63C /* PBXTextBookmark */ = 0DF41C4B1328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C4D1328A64200E1B63C /* PBXTextBookmark */ = 0DF41C4D1328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C4E1328A64200E1B63C /* PBXTextBookmark */ = 0DF41C4E1328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C4F1328A64200E1B63C /* PBXTextBookmark */ = 0DF41C4F1328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C501328A64200E1B63C /* PBXTextBookmark */ = 0DF41C501328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C511328A64200E1B63C /* PBXTextBookmark */ = 0DF41C511328A64200E1B63C /* PBXTextBookmark */;
+			0DF41C591328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C591328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C5A1328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C5A1328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C5C1328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C5C1328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C5D1328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C5D1328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C5E1328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C5E1328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C5F1328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C5F1328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C601328AA9700E1B63C /* PBXTextBookmark */ = 0DF41C601328AA9700E1B63C /* PBXTextBookmark */;
+			0DF41C651328ABA300E1B63C /* PBXTextBookmark */ = 0DF41C651328ABA300E1B63C /* PBXTextBookmark */;
+			0DF41C661328ABA300E1B63C /* PBXTextBookmark */ = 0DF41C661328ABA300E1B63C /* PBXTextBookmark */;
+			0DF41C671328ABA300E1B63C /* PBXTextBookmark */ = 0DF41C671328ABA300E1B63C /* PBXTextBookmark */;
+			0DF41C681328ABA300E1B63C /* PBXTextBookmark */ = 0DF41C681328ABA300E1B63C /* PBXTextBookmark */;
+			0DF41C711328ABF600E1B63C /* PBXTextBookmark */ = 0DF41C711328ABF600E1B63C /* PBXTextBookmark */;
+			0DF41C721328ABF600E1B63C /* PBXTextBookmark */ = 0DF41C721328ABF600E1B63C /* PBXTextBookmark */;
+			0DF41C731328ABF600E1B63C /* PBXTextBookmark */ = 0DF41C731328ABF600E1B63C /* PBXTextBookmark */;
+			0DF41C741328ABF600E1B63C /* PBXTextBookmark */ = 0DF41C741328ABF600E1B63C /* PBXTextBookmark */;
+			0DF41C771328AC2600E1B63C /* PBXTextBookmark */ = 0DF41C771328AC2600E1B63C /* PBXTextBookmark */;
+			0DF41C781328AC2600E1B63C /* PBXTextBookmark */ = 0DF41C781328AC2600E1B63C /* PBXTextBookmark */;
+			0DF41C791328AC2600E1B63C /* PBXTextBookmark */ = 0DF41C791328AC2600E1B63C /* PBXTextBookmark */;
+			0DF41C7A1328AC2600E1B63C /* PBXTextBookmark */ = 0DF41C7A1328AC2600E1B63C /* PBXTextBookmark */;
+			0DF41C7F1328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C7F1328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C801328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C801328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C811328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C811328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C821328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C821328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C831328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C831328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C841328AC9E00E1B63C /* PBXTextBookmark */ = 0DF41C841328AC9E00E1B63C /* PBXTextBookmark */;
+			0DF41C881328AF0600E1B63C /* PBXTextBookmark */ = 0DF41C881328AF0600E1B63C /* PBXTextBookmark */;
+			0DF41C891328AF0600E1B63C /* PBXTextBookmark */ = 0DF41C891328AF0600E1B63C /* PBXTextBookmark */;
+			0DF41C8A1328AF0600E1B63C /* PBXTextBookmark */ = 0DF41C8A1328AF0600E1B63C /* PBXTextBookmark */;
+			0DF41C8B1328AF0600E1B63C /* PBXTextBookmark */ = 0DF41C8B1328AF0600E1B63C /* PBXTextBookmark */;
+			0DF41CA31328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA31328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA41328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA41328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA51328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA51328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA61328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA61328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA71328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA71328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA81328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA81328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CA91328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CA91328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CAB1328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CAB1328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CAC1328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CAC1328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CAD1328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CAD1328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CAE1328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CAE1328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CAF1328B6D700E1B63C /* PBXTextBookmark */ = 0DF41CAF1328B6D700E1B63C /* PBXTextBookmark */;
+			0DF41CB11328B6F200E1B63C /* PBXTextBookmark */ = 0DF41CB11328B6F200E1B63C /* PBXTextBookmark */;
+			0DF41CB21328B6F200E1B63C /* PBXTextBookmark */ = 0DF41CB21328B6F200E1B63C /* PBXTextBookmark */;
+			0DF41CB31328B6F200E1B63C /* PBXTextBookmark */ = 0DF41CB31328B6F200E1B63C /* PBXTextBookmark */;
+			0DF41CB41328B6F200E1B63C /* PBXTextBookmark */ = 0DF41CB41328B6F200E1B63C /* PBXTextBookmark */;
+			0DF41CBD1328B86700E1B63C /* PBXTextBookmark */ = 0DF41CBD1328B86700E1B63C /* PBXTextBookmark */;
+			0DF41CBE1328B86700E1B63C /* PBXTextBookmark */ = 0DF41CBE1328B86700E1B63C /* PBXTextBookmark */;
+			0DF41CBF1328B86700E1B63C /* PBXTextBookmark */ = 0DF41CBF1328B86700E1B63C /* PBXTextBookmark */;
+			0DF41CC01328B86700E1B63C /* PBXTextBookmark */ = 0DF41CC01328B86700E1B63C /* PBXTextBookmark */;
+			0DF41CC91328B8D100E1B63C /* PBXTextBookmark */ = 0DF41CC91328B8D100E1B63C /* PBXTextBookmark */;
+			0DF41CCA1328B8D100E1B63C /* PBXTextBookmark */ = 0DF41CCA1328B8D100E1B63C /* PBXTextBookmark */;
+			0DF41CCB1328B8D100E1B63C /* PBXTextBookmark */ = 0DF41CCB1328B8D100E1B63C /* PBXTextBookmark */;
+			0DF41CCC1328B8D100E1B63C /* PBXTextBookmark */ = 0DF41CCC1328B8D100E1B63C /* PBXTextBookmark */;
+			0DF41CDE1328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CDE1328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CDF1328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CDF1328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CE01328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CE01328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CE11328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CE11328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CE21328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CE21328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CE31328BE9600E1B63C /* PBXTextBookmark */ = 0DF41CE31328BE9600E1B63C /* PBXTextBookmark */;
+			0DF41CE81328C0AD00E1B63C /* XCBuildMessageTextBookmark */ = 0DF41CE81328C0AD00E1B63C /* XCBuildMessageTextBookmark */;
+			0DF41CEF1328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CEF1328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF01328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF01328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF11328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF11328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF41328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF41328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF51328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF51328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF61328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF61328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF71328D6B600E1B63C /* PBXTextBookmark */ = 0DF41CF71328D6B600E1B63C /* PBXTextBookmark */;
+			0DF41CF91328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CF91328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFA1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFA1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFB1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFB1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFC1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFC1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFD1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFD1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFE1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFE1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41CFF1328DCC200E1B63C /* PBXTextBookmark */ = 0DF41CFF1328DCC200E1B63C /* PBXTextBookmark */;
+			0DF41D001328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D001328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D011328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D011328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D021328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D021328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D031328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D031328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D041328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D041328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D051328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D051328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D061328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D061328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D071328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D071328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D081328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D081328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D091328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D091328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D0A1328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D0A1328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D0B1328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D0B1328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D0C1328DD8600E1B63C /* PBXTextBookmark */ = 0DF41D0C1328DD8600E1B63C /* PBXTextBookmark */;
+			0DF41D0D1328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D0D1328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D0E1328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D0E1328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D0F1328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D0F1328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D101328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D101328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D111328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D111328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D121328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D121328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D131328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D131328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D141328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D141328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D151328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D151328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D161328DE3900E1B63C /* PBXTextBookmark */ = 0DF41D161328DE3900E1B63C /* PBXTextBookmark */;
+			0DF41D211328DEFF00E1B63C /* PBXTextBookmark */ = 0DF41D211328DEFF00E1B63C /* PBXTextBookmark */;
+			0DF41D221328DEFF00E1B63C /* PBXTextBookmark */ = 0DF41D221328DEFF00E1B63C /* PBXTextBookmark */;
+			0DF41D231328DEFF00E1B63C /* PBXTextBookmark */ = 0DF41D231328DEFF00E1B63C /* PBXTextBookmark */;
+			0DF41D241328DEFF00E1B63C /* PBXTextBookmark */ = 0DF41D241328DEFF00E1B63C /* PBXTextBookmark */;
+			0DF41D251328DEFF00E1B63C /* PBXTextBookmark */ = 0DF41D251328DEFF00E1B63C /* PBXTextBookmark */;
+			0DF41D331328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D331328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D341328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D341328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D351328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D351328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D361328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D361328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D371328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D371328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D381328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D381328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D391328DFE200E1B63C /* PBXTextBookmark */ = 0DF41D391328DFE200E1B63C /* PBXTextBookmark */;
+			0DF41D3D1328DFFF00E1B63C /* PBXTextBookmark */ = 0DF41D3D1328DFFF00E1B63C /* PBXTextBookmark */;
+			0DF41D3E1328DFFF00E1B63C /* PBXTextBookmark */ = 0DF41D3E1328DFFF00E1B63C /* PBXTextBookmark */;
+			0DF41D3F1328DFFF00E1B63C /* PBXTextBookmark */ = 0DF41D3F1328DFFF00E1B63C /* PBXTextBookmark */;
+			0DF41D401328DFFF00E1B63C /* PBXTextBookmark */ = 0DF41D401328DFFF00E1B63C /* PBXTextBookmark */;
+			0DF41D411328DFFF00E1B63C /* PBXTextBookmark */ = 0DF41D411328DFFF00E1B63C /* PBXTextBookmark */;
+			0DF41D4E1328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D4E1328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D501328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D501328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D511328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D511328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D521328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D521328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D531328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D531328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D541328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D541328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D551328E2E800E1B63C /* PBXTextBookmark */ = 0DF41D551328E2E800E1B63C /* PBXTextBookmark */;
+			0DF41D5A1328E36000E1B63C /* PBXTextBookmark */ = 0DF41D5A1328E36000E1B63C /* PBXTextBookmark */;
+			0DF41D5B1328E36000E1B63C /* PBXTextBookmark */ = 0DF41D5B1328E36000E1B63C /* PBXTextBookmark */;
+			0DF41D5C1328E36000E1B63C /* PBXTextBookmark */ = 0DF41D5C1328E36000E1B63C /* PBXTextBookmark */;
+			0DF41D5D1328E36000E1B63C /* PBXTextBookmark */ = 0DF41D5D1328E36000E1B63C /* PBXTextBookmark */;
+			0DF41D5E1328E36000E1B63C /* PBXTextBookmark */ = 0DF41D5E1328E36000E1B63C /* PBXTextBookmark */;
+			0DF41D621328E38B00E1B63C /* PBXTextBookmark */ = 0DF41D621328E38B00E1B63C /* PBXTextBookmark */;
+			0DF41D631328E38B00E1B63C /* PBXTextBookmark */ = 0DF41D631328E38B00E1B63C /* PBXTextBookmark */;
+			0DF41D641328E38B00E1B63C /* PBXTextBookmark */ = 0DF41D641328E38B00E1B63C /* PBXTextBookmark */;
+			0DF41D651328E38B00E1B63C /* PBXTextBookmark */ = 0DF41D651328E38B00E1B63C /* PBXTextBookmark */;
+			0DF41D661328E38B00E1B63C /* PBXTextBookmark */ = 0DF41D661328E38B00E1B63C /* PBXTextBookmark */;
+			0DF41D7D1328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D7D1328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D7E1328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D7E1328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D7F1328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D7F1328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D801328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D801328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D811328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D811328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D821328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D821328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D831328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D831328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D841328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D841328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D851328E55C00E1B63C /* PBXTextBookmark */ = 0DF41D851328E55C00E1B63C /* PBXTextBookmark */;
+			0DF41D881328E5A700E1B63C /* PBXTextBookmark */ = 0DF41D881328E5A700E1B63C /* PBXTextBookmark */;
+			0DF41D891328E5A700E1B63C /* PBXTextBookmark */ = 0DF41D891328E5A700E1B63C /* PBXTextBookmark */;
+			0DF41D8A1328E5A700E1B63C /* PBXTextBookmark */ = 0DF41D8A1328E5A700E1B63C /* PBXTextBookmark */;
+			0DF41D8B1328E5A700E1B63C /* PBXTextBookmark */ = 0DF41D8B1328E5A700E1B63C /* PBXTextBookmark */;
+			0DF41D8C1328E5A700E1B63C /* PBXTextBookmark */ = 0DF41D8C1328E5A700E1B63C /* PBXTextBookmark */;
+			0DF41D921328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D921328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D941328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D941328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D961328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D961328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D971328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D971328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D981328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D981328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D991328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D991328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D9A1328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D9A1328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41D9B1328E7E100E1B63C /* PBXTextBookmark */ = 0DF41D9B1328E7E100E1B63C /* PBXTextBookmark */;
+			0DF41DA41328E85000E1B63C /* PBXTextBookmark */ = 0DF41DA41328E85000E1B63C /* PBXTextBookmark */;
+			0DF41DA51328E85000E1B63C /* PBXTextBookmark */ = 0DF41DA51328E85000E1B63C /* PBXTextBookmark */;
+			0DF41DA61328E85000E1B63C /* PBXTextBookmark */ = 0DF41DA61328E85000E1B63C /* PBXTextBookmark */;
+			0DF41DA71328E85000E1B63C /* PBXTextBookmark */ = 0DF41DA71328E85000E1B63C /* PBXTextBookmark */;
+			0DF41DA81328E85000E1B63C /* PBXTextBookmark */ = 0DF41DA81328E85000E1B63C /* PBXTextBookmark */;
+		};
+		sourceControlManager = 0DC0668E1325820000FEDA7E /* Source Control */;
+		userBuildSettings = {
+		};
+	};
+}

Added XferPhotos.xcodeproj/project.pbxproj

@@ -1,0 +1,276 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 45;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		0DC06692132585CA00FEDA7E /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DC06691132585C900FEDA7E /* AssetsLibrary.framework */; };
+		0DC067361325A65F00FEDA7E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0DC067351325A65F00FEDA7E /* Security.framework */; };
+		0DF41B771328888D00E1B63C /* http_server.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF41B761328888D00E1B63C /* http_server.m */; };
+		0DF41BB3132893E500E1B63C /* CommonMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF41BB2132893E500E1B63C /* CommonMacros.m */; };
+		1D3623260D0F684500981E51 /* XferPhotosAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */; };
+		1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+		2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
+		28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
+		28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		0DC06691132585C900FEDA7E /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+		0DC067351325A65F00FEDA7E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+		0DF41B751328888D00E1B63C /* http_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = http_server.h; sourceTree = "<group>"; };
+		0DF41B761328888D00E1B63C /* http_server.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = http_server.m; sourceTree = "<group>"; };
+		0DF41BB1132893E500E1B63C /* CommonMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonMacros.h; sourceTree = "<group>"; };
+		0DF41BB2132893E500E1B63C /* CommonMacros.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommonMacros.m; sourceTree = "<group>"; };
+		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		1D3623240D0F684500981E51 /* XferPhotosAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XferPhotosAppDelegate.h; sourceTree = "<group>"; };
+		1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XferPhotosAppDelegate.m; sourceTree = "<group>"; };
+		1D6058910D05DD3D006BFB54 /* XferPhotos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = XferPhotos.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		28A0AAE50D9B0CCF005BE974 /* XferPhotos_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XferPhotos_Prefix.pch; sourceTree = "<group>"; };
+		28AD735F0D9D9599002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
+		28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
+		28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
+		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		8D1107310486CEB800E47090 /* XferPhotos-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "XferPhotos-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
+				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
+				2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
+				0DC06692132585CA00FEDA7E /* AssetsLibrary.framework in Frameworks */,
+				0DC067361325A65F00FEDA7E /* Security.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		080E96DDFE201D6D7F000001 /* Classes */ = {
+			isa = PBXGroup;
+			children = (
+				0DF41BB1132893E500E1B63C /* CommonMacros.h */,
+				0DF41BB2132893E500E1B63C /* CommonMacros.m */,
+				28C286DF0D94DF7D0034E888 /* RootViewController.h */,
+				28C286E00D94DF7D0034E888 /* RootViewController.m */,
+				1D3623240D0F684500981E51 /* XferPhotosAppDelegate.h */,
+				1D3623250D0F684500981E51 /* XferPhotosAppDelegate.m */,
+				0DF41B751328888D00E1B63C /* http_server.h */,
+				0DF41B761328888D00E1B63C /* http_server.m */,
+			);
+			path = Classes;
+			sourceTree = "<group>";
+		};
+		19C28FACFE9D520D11CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				1D6058910D05DD3D006BFB54 /* XferPhotos.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+			isa = PBXGroup;
+			children = (
+				080E96DDFE201D6D7F000001 /* Classes */,
+				29B97315FDCFA39411CA2CEA /* Other Sources */,
+				29B97317FDCFA39411CA2CEA /* Resources */,
+				29B97323FDCFA39411CA2CEA /* Frameworks */,
+				19C28FACFE9D520D11CA2CBB /* Products */,
+				0DC06691132585C900FEDA7E /* AssetsLibrary.framework */,
+				0DC067351325A65F00FEDA7E /* Security.framework */,
+			);
+			name = CustomTemplate;
+			sourceTree = "<group>";
+		};
+		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+			isa = PBXGroup;
+			children = (
+				28A0AAE50D9B0CCF005BE974 /* XferPhotos_Prefix.pch */,
+				29B97316FDCFA39411CA2CEA /* main.m */,
+			);
+			name = "Other Sources";
+			sourceTree = "<group>";
+		};
+		29B97317FDCFA39411CA2CEA /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				28AD735F0D9D9599002E5188 /* MainWindow.xib */,
+				8D1107310486CEB800E47090 /* XferPhotos-Info.plist */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
+				1D30AB110D05D00D00671497 /* Foundation.framework */,
+				2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		1D6058900D05DD3D006BFB54 /* XferPhotos */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "XferPhotos" */;
+			buildPhases = (
+				1D60588D0D05DD3D006BFB54 /* Resources */,
+				1D60588E0D05DD3D006BFB54 /* Sources */,
+				1D60588F0D05DD3D006BFB54 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = XferPhotos;
+			productName = XferPhotos;
+			productReference = 1D6058910D05DD3D006BFB54 /* XferPhotos.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		29B97313FDCFA39411CA2CEA /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "XferPhotos" */;
+			compatibilityVersion = "Xcode 3.1";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+				en,
+			);
+			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				1D6058900D05DD3D006BFB54 /* XferPhotos */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		1D60588D0D05DD3D006BFB54 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		1D60588E0D05DD3D006BFB54 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1D60589B0D05DD56006BFB54 /* main.m in Sources */,
+				1D3623260D0F684500981E51 /* XferPhotosAppDelegate.m in Sources */,
+				28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
+				0DF41B771328888D00E1B63C /* http_server.m in Sources */,
+				0DF41BB3132893E500E1B63C /* CommonMacros.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		1D6058940D05DD3E006BFB54 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = XferPhotos_Prefix.pch;
+				INFOPLIST_FILE = "XferPhotos-Info.plist";
+				PRODUCT_NAME = XferPhotos;
+			};
+			name = Debug;
+		};
+		1D6058950D05DD3E006BFB54 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				COPY_PHASE_STRIP = YES;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = XferPhotos_Prefix.pch;
+				INFOPLIST_FILE = "XferPhotos-Info.plist";
+				PRODUCT_NAME = XferPhotos;
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		C01FCF4F08A954540054247B /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PREBINDING = NO;
+				SDKROOT = iphoneos;
+			};
+			name = Debug;
+		};
+		C01FCF5008A954540054247B /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_VERSION = com.apple.compilers.llvmgcc42;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+				PREBINDING = NO;
+				SDKROOT = iphoneos;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "XferPhotos" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1D6058940D05DD3E006BFB54 /* Debug */,
+				1D6058950D05DD3E006BFB54 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "XferPhotos" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C01FCF4F08A954540054247B /* Debug */,
+				C01FCF5008A954540054247B /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}

Added XferPhotos_Prefix.pch

@@ -1,0 +1,14 @@
+//
+// Prefix header for all source files of the 'XferPhotos' target in the 'XferPhotos' project
+//
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+    #import <UIKit/UIKit.h>
+#endif

Added main.m

@@ -1,0 +1,17 @@
+//
+//  main.m
+//  XferPhotos
+//
+//  Created by fu on 3/7/11.
+//  Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[]) {
+
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+    int retVal = UIApplicationMain(argc, argv, nil, nil);
+    [pool release];
+    return retVal;
+}

Added xfer-photos.fossil

cannot compute difference between binary files