Initial import of ApertureToAnselExportPlugin
authorMichael J. Rubinsky <mrubinsk@horde.org>
Mon, 31 Aug 2009 22:27:37 +0000 (18:27 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Mon, 31 Aug 2009 22:28:14 +0000 (18:28 -0400)
48 files changed:
ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportManager.h [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportPlugIn.h [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureHeaders/ApertureSDKCommon.h [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.h [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.m [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.xcodeproj/project.pbxproj [new file with mode: 0644]
ApertureToAnselExportPlugin/ApertureToAnselExportPlugin_Prefix.pch [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/classes.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/info.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/keyedobjects.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/InfoPlist.strings [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/Localizable.strings [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/Panel.nib/designable.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/Panel.nib/keyedobjects.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/English.lproj/locversion.plist [new file with mode: 0644]
ApertureToAnselExportPlugin/Info.plist [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnsel.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnsel.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselGallery.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselGallery.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURXMLConnection.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURXMLConnection.m [new file with mode: 0644]
ApertureToAnselExportPlugin/XMLRPC-Info.plist [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Info.plist [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/LICENSE [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/Languages/English.lproj/Localizable.strings [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/README [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC-Info.plist [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.pch [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.m [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.h [new file with mode: 0644]
ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.m [new file with mode: 0644]

diff --git a/ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportManager.h b/ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportManager.h
new file mode 100644 (file)
index 0000000..c40ecc9
--- /dev/null
@@ -0,0 +1,128 @@
+/*!
+       @header                 ApertureExportManager.h
+       @copyright              2006 Apple Inc. All rights reserved.
+       @abstract               Protocol declaration for Aperture's export interface. 
+       @discussion             Aperture export plug-ins use these methods to control the export process. Version 1.0.
+*/
+
+#import "ApertureSDKCommon.h"
+
+/*!
+       @protocol               ApertureExportManager
+       @discussion             Protocol definition for the Aperture export interface. You use this protocol to communicate with the Aperture application.
+ */
+@protocol ApertureExportManager
+
+
+/*!
+       @abstract               Returns the number of images the user wants to export.
+       @result                 An unsigned integer indicating the number of images the user wants to export. 
+       @discussion             Note that the image count may change if the user is allowed to choose between Master and Version export (see -allowsMasterExport). If the user switches, the Aperture export manager sends the plug-in a message (see -exportManagerExportTypeDidChange). The plug-in should then call -imageCount to make sure the number of images to export is correct.
+*/
+- (unsigned)imageCount;
+
+
+/*!    
+       @abstract               Returns a dictionary containing all the properties for an image.
+       @param                  index  The index of the target image.
+       @result                 A dictionary containing the available properties for the specified image. The returned dictionary contains a thumbnail image whose size is kExportThumbnailSizeMini.
+       @discussion             For Master images, the returned properties come from the original import properties. These include properties from the image file and camera as well as any IPTC values the user added on import. The keys contained in the properties dictionary are defined at the beginning of this header file.
+ */
+- (NSDictionary *)propertiesForImageAtIndex:(unsigned)index;
+
+
+/* New in Aperture 1.5.1, Part of ApertureExportManager version 2 */
+/*!    
+       @abstract               Returns a dictionary containing all the properties for an image, but without a value for the kExportKeyThumbnailImage key.
+       @param                  index  The index of the target image.
+       @result                 A dictionary containing all the available properties for the specified image, except a thumbnail. You may obtain a thumbnail separately using the -thumbnailImageForImageAtIndex:size: method.
+       @discussion             For Master images, the returned properties come from the original import properties. These include properties from the image file and camera as well as any IPTC values the user added on import. The keys contained in the properties dictionary are defined at the beginning of this header file. This method is available in version 2 of the ApertureExportManager protocol in Aperture 1.5.1. Your plug-in must specify support for this version in its Info.plist, and you can ask the export manager which version it is by calling -conformsToProtocol:version: (defined in the PROAPIObject PROAPIAccessing.h)
+*/
+- (NSDictionary *)propertiesWithoutThumbnailForImageAtIndex:(unsigned)index;
+
+
+/* New in version 2 of the ApertureExportManager protocol, as part of Aperture 1.5.1  */
+/*!    
+       @abstract               (Version 2) Returns a small version of the specified image. 
+       @param                  index The index of the target image
+       @param                  size The constant indicating how large of a thumbnail image Aperture should return.
+       @result                 An image object containing the thumbnail data
+       @discussion             New in version 2 of the ApertureExportManager protocol. Supported by Aperture 1.5.1 and later. For master images, this method may return nil. You may check if the Aperture your plug-in is running in supports version 2 by using the PROAPIAccessing protocol.
+*/
+- (NSImage *)thumbnailForImageAtIndex:(unsigned)index
+                                                                size:(ApertureExportThumbnailSize)size;
+
+/*!    
+       @abstract               Returns the key-value pairs defining the currently-selected export presets for a Version export.
+       @result                 A pointer to an NSDictionary structure.
+       @discussion             Returns the key-value pairs defining the currently-selected export presets for a Version export. Returns nil if the user is exporting a Master image. 
+*/
+- (NSDictionary *)selectedExportPresetDictionary;
+
+
+/*!    
+       @abstract               Adds keywords to a Version image.
+       @param                  keywords An NSArray of NSString objects representing the keywords to add.
+       @param                  index The index of the target image.
+       @discussion             This method has no effect if called on a Master image.
+*/
+- (void)addKeywords:(NSArray *)keywords 
+        toImageAtIndex:(unsigned)index;
+
+
+/*!     
+        @abstract              Adds keyword hierarchies to a Version image.
+        @param                 hierarchicalKeywords This is an NSArray of NSArray objects, each containing NSString objects representing the hierarchy of a single keyword. For each NSArray, the NSString at index 0 is the keyword, with the item at index 1 being its parent, and so on.
+        @param                 index The index of the target image.
+        @discussion    This method has no effect if called on a Master image.
+        */
+- (void)addHierarchicalKeywords:(NSArray *)hierarchicalKeywords
+                                toImageAtIndex:(unsigned)index;
+
+/*!    
+       @abstract               Adds custom metadata to a Version image.
+       @param                  customMetadata  An NSDictionary containing NSString key-value pairs representing the custom metadata.
+       @param                  index The index of the target image.
+       @discussion             This method has no effect if called on a Master image.
+*/
+- (void)addCustomMetadataKeyValues:(NSDictionary *)customMetadata 
+                                       toImageAtIndex:(unsigned)index;
+
+
+/*!    
+       @abstract               Provides reference to frontmost window.
+       @result                 A reference to the current frontmost window.
+       @discussion             Until the plug-in calls -shouldBeginExport, the reference points to the export window. After the export process begins, the reference points to the progress sheet or to Aperture's main window.
+*/
+- (id)window;
+
+
+/*!    
+       @abstract               Indicates whether Aperture is exporting Master or Version images.
+       @result                 Returns YES if Aperture is exporting Master images. Returns NO if Aperture is exporting Version images.
+*/
+- (BOOL)isMasterExport;
+
+
+/*!    
+       @abstract               Tells Aperture to start the export process.
+       @discussion             Calling this method causes Aperture to determine the destination path for export, confirm the images to export, put away the export window, and begin the export process. A plug-in should call this method only in response to -exportManagerShouldBeginExport and after performing any necessary validations, network checks, and so on.
+*/
+- (void)shouldBeginExport;
+
+
+/*!    
+       @abstract               Tells Aperture to cancel the export process.
+       @discussion             The plug-in can call this method at any time to have Aperture put away all export windows, stop the export process, and return the user to the workspace. Additionally, if Aperture calls -exportManagerShouldCancelExport, Aperture then halts all activity and waits for the plug-in to call this method.
+*/
+- (void)shouldCancelExport;
+
+
+/*!    
+       @abstract               Signals that Aperture can deallocate the plug-in.
+       @discussion             When Aperture finishes processing the export image data, it calls -exportManagerDidFinishExport. It continues to ask the plug-in for progress updates until the plug-in calls this method. Once this happens, Aperture closes the export modal window and deallocates the plug-in. 
+*/
+- (void)shouldFinishExport;
+
+
+@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportPlugIn.h b/ApertureToAnselExportPlugin/ApertureHeaders/ApertureExportPlugIn.h
new file mode 100644 (file)
index 0000000..321ffdb
--- /dev/null
@@ -0,0 +1,256 @@
+/*!
+       @header         ApertureExportPlugIn.h  
+       @abstract       Protocol declaration for implementing an Aperture Export Plug-in.
+       @copyright      2006 Apple Inc. All rights reserved.
+        
+ */
+
+/*Copyright: 2006 Apple Computer, Inc. All rights reserved.*/
+
+
+#import <PluginManager/PROAPIAccessing.h>
+#import "ApertureSDKCommon.h"
+#import "ApertureExportManager.h"
+
+/*!
+ @typedef              ApertureExportProgress
+ @abstract             Provides values for UI progress display during export.
+ @field                        currentValue Current progress.
+ @field                        totalValue   Total to do.
+ @field                        message      Progress message.
+ @field                        indeterminateProgress   Set to YES to display an indeterminate progress bar.
+ @discussion           Aperture uses the values in this structure to display the export progress in the 
+ UI. Aperture starts calling this method after a plug-in calls -shouldBeginExport
+ and stops calling this method after the plug-in calls -shouldFinishExport or 
+ -shouldCancelExport.
+ */
+typedef struct
+{
+       unsigned long   currentValue;
+       unsigned long   totalValue;
+       NSString                *message;
+       BOOL                    indeterminateProgress;  
+} ApertureExportProgress;
+
+
+/*!
+       @protocol               ApertureExportPlugIn
+       @abstract               Specifies the methods that all Aperture export plug-ins must implement.
+       @discussion             Any plug-in that does not implement the entire protocol fails when a user 
+                                       selects the plug-in. 
+ */
+@protocol ApertureExportPlugIn
+
+
+/*!    
+       @abstract               Brokers version management between a plug-in and the host application.
+       @param                  apiManager The ProPlug plug-in manager object.
+       @result                 An initialized plug-in controller object.
+       @discussion             The apiManager object is the protocol broker between a plug-in and the host. It 
+                                       ensures that a plug-in supporting a particular version of the API is given the host 
+                                       objects that correspond to this version. A plug-in should call -apiForProtocol on 
+                                       the apiManager object to obtain a reference to the host export manager for use 
+                                       throughout the export process. If the plug-in fails to obtain a reference to the 
+                                       host export manager, it should fail to initialize. 
+ */
+- (id)initWithAPIManager:(id<PROAPIAccessing>)apiManager;
+
+
+/*!            
+       @abstract               Creates an NSBox for plug-in controls.
+       @result                 The subclass of NSBox that contains all of the plug-ins UI and controls.
+       @discussion             Aperture currently limits the size of the export window to 1100px wide by 750px 
+                                       tall. If the size of the window plus the settings view is too large, Aperture 
+                                       places the view in the window and then resizes to the maximum. For best results,
+                                       make sure your settings view can resize if necessary. (This is also useful if 
+                                       future versions of Aperture change the maximum size.) Visually, plug-ins should 
+                                       attempt to separate their controls from the items Aperture provides. Placing                                    
+                                       plug-in controls inside an NSBox is generally the best way to do this.
+ */
+- (NSView *)settingsView;
+
+
+/*!    
+       @abstract       Returns a reference to first item of settingsView.
+       @result         Returns a reference to the first item in the tab order of settingsView.
+*/
+- (NSView *)firstView;
+
+
+/*!    
+       @abstract       Returns a reference to the last item of settingsView.
+       @result         Returns a reference to the last item in the tab order of settingsView.   
+*/
+- (NSView *)lastView;
+
+
+/*!
+       @abstract       Called when the user displays a plug-in's export UI, or when the export window 
+                               becomes the active window. 
+*/
+- (void)willBeActivated;
+
+
+/*!
+       @abstract       Called when a plug-in's export UI is no longer the active view.          
+*/
+- (void)willBeDeactivated;
+
+
+/*!    
+       @abstract       Controls visibility of presets.
+       @result         If a plug-in includes a file called "Export Presets.plist" in the Resources folder 
+                               of its bundle and if this file contains valid definitions for one or more export 
+                               presets, then these presets are included in the user's export preset list when the 
+                               plug-in is active and when the user is exporting Versions. If the plug-in also 
+                               returns YES from this method, then only the supplied presets are visible in the
+                               list. If the plug-in returns NO from this method, then all the user's existing 
+                               presets are visible in addition to the plug-in presets. If the plug-in does not 
+                               provide an "Export Presets.plist" file, or if the file does not contain any 
+                               valid preset definitions, then the return value of this method  has no effect and 
+                               Aperture displays the users existing list.       
+*/
+- (BOOL)allowsOnlyPlugInPresets;
+
+
+/*!
+       @abstract       Controls type of export.
+       @result         Returning YES allows the user to export Master images that contain the original, unmodified camera data in its original format. Returning NO allows only Version export.
+*/
+- (BOOL)allowsMasterExport;
+
+
+/*!    
+       @abstract       Controls type of export.
+       @result         Returning YES allows the user to export Version images. (Versions contain all modifications and adjustments to an image and are processed with the options contained in the currently-selected Export Preset.) Returning NO means Aperture only allows the export of Master images.
+*/
+- (BOOL)allowsVersionExport;
+
+/*!    
+       @abstract       Controls visibility of File Naming Policy options.
+       @result         Returning YES allows the user to use Aperture's File Naming Policy options to specify the file name and folder hierarchy for exported images. Returning NO hides the File Naming Policy controls on the export window. The UI elements affected include the Export Name Format popup menu, the Custom Name field, and the Example Name field.
+*/
+- (BOOL)wantsFileNamingControls;
+
+
+/*!    
+       @abstract       Alerts plug-in that user has switched type of export.
+       @discussion     This method indicates that the user has switched between Master and Version export. The plug-in can use -isMasterExport to ask the export manager for the type of export now being used. Because several version images may be based on a single master, the total count of images, along with the properties for each image, may have changed. The plug-in can use -imageCount to get the new image count before calling any other methods on the export manager.
+*/
+- (void)exportManagerExportTypeDidChange;
+
+
+/*!
+       @abstract       Controls user prompt for destination path.
+       @result         If this method returns YES, Aperture prompts the user for a destination path for an exported image or images. If this method returns NO, Aperture assumes a valid path is provided by -destinationPath.
+*/
+- (BOOL)wantsDestinationPathPrompt;
+
+
+/*!    
+       @abstract       Returns starting directory.
+       @return         If the user is prompted for a destination path (-wantsDestinationPathPrompt return YES), this method should return the starting directory for the dialog box.
+*/
+- (NSString *)defaultDirectory;
+
+
+/*!    
+       @abstract       Returns a valid destination path for writing the file.
+       @result         A valid destination path when Aperture is writing the file (-exportManagerShouldWriteImageData: returns YES) and when no user prompt is requested (-wantsDestinationPathPrompt returns NO). If nil is returned, and if the plug-in asks Aperture to write image data, it will be written to ~/Pictures/Aperture Exports/.
+*/
+- (NSString *)destinationPath;
+
+
+/*!    
+       @abstract       Alerts plug-in that user has clicked Export button.
+       @discussion     Aperture calls this plug-in method when the user clicks the Export button. The plug-in should perform any UI validations here. When the plug-in is ready to begin the export process, it should call Aperture's -shouldBeginExport method to begin the export process.
+*/
+- (void)exportManagerShouldBeginExport;
+
+
+/*!    
+       @abstract       Indicates the base directory where images will be written.
+       @param          path The base file system path where images will be written. 
+       @discussion     The path designations for each image will be relative to this path. The path is provided by the plug-in or by the user, depending on whether the plug-in asked Aperture to display a destination prompt or not. Because the File Naming Policy controls allow the user to specify a hierarchy of export directories based on image data, other export calls may specify a series of subdirectories. The plug-in should retain a reference to this path in order to build the full destination path.
+*/
+- (void)exportManagerWillBeginExportToPath:(NSString *)path;
+
+
+/*!    
+       @abstract       Gives the plug-in the option to selectively export an image.
+       @param          index The index of an image.
+       @result         Returning YES causes Aperture to export the image at the specified index. Returning NO does nothing.
+       @discussion Aperture generates image data for the specified image, either reading Master data from disk or generating the Version data based on the currently-selected options.
+ */
+- (BOOL)exportManagerShouldExportImageAtIndex:(unsigned)index;
+
+
+/*!    
+       @abstract       Confirms indexed image to be exported.
+       @param          index The index of an image.
+       @discussion     This method confirms the index value that the plug-in returned to -exportManagerShouldExportImageAtIndex:.
+*/
+- (void)exportManagerWillExportImageAtIndex:(unsigned)index;
+
+
+/*!    
+       @abstract       Provides option for plug-in itself to handle image data.
+       @param      imageData An object containing all the data for an image and the specified index.
+       @param          path The relative path where the object should be written. (The base path is set in -exportManagerWillBeginExportToPath:.) The file name is the last component of this parameter.
+       @param          index The index for the image.
+       @result         Returning YES instructs Aperture to write the image data. Returning NO means the plug-in itself retains the data object and can process the image as appropriate. 
+       @discussion     This method is called every time the plug-in asks Aperture to export and image. NOTE: This method may be called on a secondary thread.
+*/
+- (BOOL)exportManagerShouldWriteImageData:(NSData*)imageData 
+                                                  toRelativePath:(NSString*)path 
+                                                 forImageAtIndex:(unsigned)index;
+
+
+/*!    
+       @abstract       Confirms that Aperture has written an image.
+       @param          path The relative path where the object was written.
+       @param          index   The index of the specified image.
+       @discussion     This method is only called if the plug-in returned YES from the -exportManagerShouldWriteImageData: method. NOTE: This method may be called on a secondary thread.
+       
+*/
+- (void)exportManagerDidWriteImageDataToRelativePath:(NSString *)path 
+                                                                    forImageAtIndex:(unsigned)index;
+
+
+/*!
+       @abstract       Confirms that Aperture has completed processing all export images.
+       @discussion     Aperture calls this method once if it has completed generating and (optionally) writing data for the export images requested by the plug-in. Aperture assumes that the plug-in is still performing export operations until the plug-in calls either -shouldCancelExport or -shouldFinishExport. NOTE: This method may be called on a secondary thread.
+*/
+- (void)exportManagerDidFinishExport;
+
+
+/*!
+       @abstract       Indicates that export should be cancelled.
+       @discussion     Indicates that Aperture has encountered an error, or that the user has clicked the Cancel button. Aperture has stopped exporting image data but waits for the plug-in to signal that it is ready to cancel by calling -shouldCancelExport.  Aperture then cleans up the export or progress windows.
+  */
+- (void)exportManagerShouldCancelExport;
+
+
+/*!    
+       @abstract       Displays progress information.
+       @result         A pointer to a valid ApertureExportProgress structure.
+       @discussion     Aperture uses the values in this structure to display the progress UI. Aperture begins calling this method after the plug-in calls -shouldBeginExport and stops calling this method after the plug-in calls -shouldFinishExport or -shouldCancelExport. 
+*/
+- (ApertureExportProgress *)progress;
+
+
+/*!    
+       @abstract       Locks ApertureExportProgress structures.
+       @discussion     The plug-in should maintain an NSLock or similar object and perform any necessary locking here. Aperture will always call this method from the main thread before calling -progress.
+*/
+- (void)lockProgress;
+
+
+/*!
+       @abstract       Alerts plug-in to unlock objects.
+       @discussion     The plug-in should maintain an NSLock or similar object and perform any necessary unlocking here. Aperture will always call this method from the main thread after calling -progress.
+*/
+- (void)unlockProgress;
+
+
+@end
diff --git a/ApertureToAnselExportPlugin/ApertureHeaders/ApertureSDKCommon.h b/ApertureToAnselExportPlugin/ApertureHeaders/ApertureSDKCommon.h
new file mode 100644 (file)
index 0000000..6859772
--- /dev/null
@@ -0,0 +1,137 @@
+/*!
+   @header         ApertureSDKCommon.h
+   @copyright      2007-2008 Apple Inc.. All rights reserved.
+
+*/
+
+/*!
+ @define                       kExportKeyThumbnailImage
+ @discussion           An NSImage object containing a reduced-size JPEG of the specified image. Note that values may be nil during export for this key for Master images, or for versions of unsupported master formats. 
+ */
+#define kExportKeyThumbnailImage @"kExportKeyThumbnailImage"
+
+
+/*!
+ @define                       kExportKeyVersionName
+ @discussion           An NSString specifying the version name of the selected image.
+ */
+#define kExportKeyVersionName @"kExportKeyVersionName"
+
+
+/*!
+ @define                       kExportKeyProjectName
+ @discussion           An NSString specifying the name of the project containing the image.
+ */
+#define kExportKeyProjectName @"kExportKeyProjectName"
+
+
+/*!
+ @define                       kExportKeyEXIFProperties
+ @discussion           An NSDictionary specifying the EXIF key-value pairs for the image.
+ */
+#define kExportKeyEXIFProperties @"kExportKeyEXIFProperties"
+
+
+/*!
+ @define                       kExportKeyIPTCProperties
+ @discussion           An NSDictionary specifying all the IPTC key-value pairs for the image.
+ */
+#define kExportKeyIPTCProperties @"kExportKeyIPTCProperties"
+
+
+/*!
+ @define                       kExportKeyCustomProperties
+ @discussion           An NSDictionary specifying all the Custom Metadata key-value pairs for the image.
+ */
+#define kExportKeyCustomProperties @"kExportKeyCustomProperties"
+
+
+/*!
+ @define                       kExportKeyKeywords
+ @discussion           An NSArray specifying an NSString for each keyword for this image.
+ */
+#define kExportKeyKeywords @"kExportKeyKeywords"
+
+
+/*!
+ @define                       kExportKeyHierarchicalKeywords
+ @discussion           (New in Aperture 1.5.1) An NSArray specifying hierarchical keywords. Each entry in the array represents a single keyword and is itself an NSArray of NSStrings. Each hierarchy array starts with the keyword itself at index 0, followed by its parent, and so on. 
+ */
+#define kExportKeyHierarchicalKeywords @"kExportKeyHierarchicalKeywords"
+
+
+/*!
+ @define                       kExportKeyMainRating
+ @discussion           An NSNumber specifying the rating for this image.
+ */
+#define kExportKeyMainRating @"kExportKeyMainRating"
+
+
+/*!
+ @define                       kExportKeyXMPString
+ @discussion           An NSString specifying the XMP data for the original master of this image.
+ */
+#define kExportKeyXMPString @"kExportKeyXMPString"
+
+
+/*!
+ @define                       kExportKeyReferencedMasterPath
+ @discussion           An NSString specifying the absolute path to the master image file. 
+ */
+#define kExportKeyReferencedMasterPath @"kExportKeyReferencedMasterPath"
+
+
+/*!
+ @define                       kExportKeyMasterPath
+ @discussion           An NSString specifying the absolute path to the master image file. (The same value as kExportKeyReferencedMasterPath) 
+ */
+#define kExportKeyMasterPath @"kExportKeyReferencedMasterPath"
+
+
+/*!
+ @define                       kExportKeyUniqueID
+ @discussion           An NSString specifying a unique identifier for specified image.
+ */
+#define kExportKeyUniqueID @"kExportKeyUniqueID"
+
+
+/*!
+ @define                       kExportKeyImageSize
+ @discussion           An NSValue object specifying an NSSize with the pixel dimensions of the specified image. For Version images, the pixel dimensions take all cropping, adjustments, and rotations into account. For Master images, the size is the original pixel dimensions of the image.
+ */
+#define kExportKeyImageSize @"kExportKeyImageSize"
+
+/*!
+ @define                       kExportKeyImageHasAdjustments
+ @discussion           (New in Aperture 2.0) An NSNumber object specifying a Boolean value. YES indicates that the user has applied at least one adjustment to this version besides the RAW decode; NO indicates that no adjustments have been applied.
+ */
+#define kExportKeyImageHasAdjustments @"kExportKeyImageHasAdjustments"
+
+
+/*!
+ @define                       kExportKeyWhiteBalanceTemperature
+ @discussion           (New in Aperture 2.0) An NSNumber object specifying the color temperature value determined by Aperture.
+ */
+#define kExportKeyWhiteBalanceTemperature @"kExportKeyWhiteBalanceTemperature"
+
+/*!
+ @define                       kExportKeyWhiteBalanceTint
+ @discussion           (New in Aperture 2.0) An NSNumber object specifying the color tint value determined by Aperture.
+ */
+#define kExportKeyWhiteBalanceTint @"kExportKeyWhiteBalanceTint"
+
+/*!
+ @define                       kkExportKeyIsRAWImage
+ @discussion           (New in Aperture 2.0) An NSNumber object specifying a Boolean value. YES indicates that this version is based off a RAW master file. NO indicates that the master file is not RAW.
+ */
+#define kExportKeyIsRAWImage @"kExportKeyIsRAWImage"
+
+/* New in Aperture 1.5.1, Part of ApertureExportManager version 2 */
+/*!
+ */
+typedef enum
+{
+       kExportThumbnailSizeThumbnail = 0,
+       kExportThumbnailSizeMini,
+       kExportThumbnailSizeTiny
+} ApertureExportThumbnailSize;
diff --git a/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.h b/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.h
new file mode 100644 (file)
index 0000000..2cccc70
--- /dev/null
@@ -0,0 +1,95 @@
+//
+//     ApertureToAnselExportPlugin.h
+//     ApertureToAnselExportPlugin
+//
+//     Created by Michael Rubinsky on 8/29/09.
+//     Copyright __MyCompanyName__ 2009. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import <Quartz/Quartz.h>
+#import <Foundation/Foundation.h>
+#import "ApertureExportManager.h"
+#import "ApertureExportPlugIn.h"
+
+@class TURAnsel, TURAnselGallery;
+@interface ApertureToAnselExportPlugin : NSObject <ApertureExportPlugIn>
+{
+       // The cached API Manager object, as passed to the -initWithAPIManager: method.
+       id _apiManager; 
+       
+       // The cached Aperture Export Manager object - you should fetch this from the API Manager during -initWithAPIManager:
+       NSObject<ApertureExportManager, PROAPIObject> *_exportManager; 
+       
+       // The lock used to protect all access to the ApertureExportProgress structure
+       NSLock *_progressLock;
+       
+       // Top-level objects in the nib are automatically retained - this array
+       // tracks those, and releases them
+       NSArray *_topLevelNibObjects;
+       
+       // The structure used to pass all progress information back to Aperture
+       ApertureExportProgress exportProgress;
+
+       // Outlets to your plug-ins user interface
+       IBOutlet NSView *settingsView;
+       IBOutlet NSView *firstView;
+       IBOutlet NSView *lastView;
+    
+    IBOutlet NSComboBox *galleryCombo;
+    IBOutlet NSTextField *statusLabel;
+    IBOutlet NSProgressIndicator *spinner;
+    IBOutlet NSImageView *defaultImageView;
+    IBOutlet NSButton *mNewGalleryButton;
+    IBOutlet NSPopUpButton *mServersPopUp;
+    IBOutlet NSButton *mCancelConnect;
+    IBOutlet NSTextField *mImageCountLabel;
+    
+    // New Server sheet
+    IBOutlet NSWindow *newServerSheet;
+    IBOutlet NSTextField *mServerSheetHostURL;
+    IBOutlet NSTextField *mServerSheetUsername;    
+    IBOutlet NSSecureTextField *mServerSheetPassword;
+    IBOutlet NSTextField *mServerSheetServerNickName;
+    IBOutlet NSButton *mMakeNewServerDefault;
+    
+    // Server list
+    IBOutlet NSPanel *serverListPanel;
+    IBOutlet NSTableView *serverTable;
+
+    // Currently selected server data
+    NSMutableArray *_anselServers;
+    NSDictionary *_currentServer;
+
+    // Gallery View
+    IBOutlet NSButton *viewGallery;
+    IBOutlet NSWindow *mviewGallerySheet;
+    IBOutlet NSButton *closeGalleryView;
+    IBOutlet IKImageBrowserView *browserView;
+    
+    BOOL cancelExport;
+    TURAnselGallery *_currentGallery;
+    int _currentImageCount;
+    TURAnsel *_anselController;
+    NSMutableArray *_browserData;
+    
+    // Remembers the selected server before it changes. Used to reselect the
+    // proper server if necessary when server panels are closed.
+    int mIndexOfPreviouslySelectedServer;
+}
+
+- (IBAction) showNewGallery: (id)sender;
+- (IBAction) doAddServer: (id)sender;
+- (IBAction) doCancelAddServer: (id)sender;
+- (IBAction) clickServer: (id)sender;
+- (IBAction) clickCancelConnect: (id)sender;
+
+- (IBAction) clickViewGallery: (id)sender;
+- (IBAction) closeGalleryView: (id)sender;
+
+// Server List
+- (IBAction) closeServerList: (id)sender;
+- (IBAction) removeServer: (id)sender;
+
+- (NSWindow *)window;
+@end
diff --git a/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.m b/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.m
new file mode 100644 (file)
index 0000000..dd0a965
--- /dev/null
@@ -0,0 +1,647 @@
+//
+//     ApertureToAnselExportPlugin.m
+//     ApertureToAnselExportPlugin
+//
+//     Created by Michael Rubinsky on 8/29/09.
+//     Copyright __MyCompanyName__ 2009. All rights reserved.
+//
+
+#import "ApertureToAnselExportPlugin.h"
+#import "TURAnsel.h"
+#import "TURAnselGallery.h"
+
+@interface ApertureToAnselExportPlugin (PrivateAPI)
+- (void)showNewServerSheet;
+- (void)showServerListPanel;
+- (void)updateServersPopupMenu;
+- (void)doConnect;
+- (void)connect;
+- (void)disconnect;
+- (void)postProgressStatus:(NSString *)status;
+- (void)privatePerformExport;
+- (void)runExport;
+- (void)canExport;
+- (void)setStatusText: (NSString *)message withColor:(NSColor *)theColor;
+- (void)setStatusText: (NSString *)message;
+@end
+
+
+// User default keys
+NSString * const TURAnselServersKey = @"AnselServers";
+NSString * const TURAnselExportSize = @"AnselExportSize";
+NSString * const TURAnselDefaultServerKey = @"AnselDefaultServer";
+
+// Server property keys
+NSString * const TURAnselServerNickKey = @"nickname";
+NSString * const TURAnselServerEndpointKey = @"endpoint";
+NSString * const TURAnselServerUsernameKey = @"username";
+NSString * const TURAnselServerPasswordKey = @"password";
+
+@implementation ApertureToAnselExportPlugin
+
+//---------------------------------------------------------
+// initWithAPIManager:
+//
+// This method is called when a plug-in is first loaded, and
+// is a good point to conduct any checks for anti-piracy or
+// system compatibility. This is also your only chance to
+// obtain a reference to Aperture's export manager. If you
+// do not obtain a valid reference, you should return nil.
+// Returning nil means that a plug-in chooses not to be accessible.
+//---------------------------------------------------------
+ - (id)initWithAPIManager:(id<PROAPIAccessing>)apiManager
+{
+       if (self = [super init]) {
+               _apiManager     = apiManager;
+               _exportManager = [[_apiManager apiForProtocol:@protocol(ApertureExportManager)] retain];
+               if (!_exportManager)
+                       return nil;
+               
+               _progressLock = [[NSLock alloc] init];
+               
+               // Finish your initialization here
+        // Test
+//        _currentServer = [NSDictionary dictionaryWithObjectsAndKeys:@"http://localhost:8080/horde/rpc.php", TURAnselServerEndpointKey,
+//                                @"localhost", TURAnselServerNickKey,
+//                                @"mike", TURAnselServerUsernameKey,
+//                                @"n329sp", TURAnselServerPasswordKey, nil];
+//        NSDictionary *p = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:
+//                                                                  [_currentServer objectForKey:TURAnselServerEndpointKey],
+//                                                                  [_currentServer objectForKey:TURAnselServerUsernameKey],
+//                                                                  [_currentServer objectForKey:TURAnselServerPasswordKey],
+//                                                                  nil]
+//                                                        forKeys: [NSArray arrayWithObjects:@"endpoint", @"username", @"password", nil]];
+//        // Create our controller
+//        NSLog(@"Creating anselController %@", p);
+//        _anselController = [[TURAnsel alloc] initWithConnectionParameters:p];
+//        [_anselController setDelegate:self];
+        
+        
+        // Register Application Defaults
+        NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary];
+        [defaultValues setObject: [NSNumber numberWithInt: 2]
+                          forKey: TURAnselExportSize];    
+        
+        [defaultValues setObject: [[NSArray alloc] init] forKey: TURAnselServersKey];
+        
+        [defaultValues setObject: [[NSDictionary alloc] init]
+                          forKey: TURAnselDefaultServerKey];
+        
+        NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
+        [userPrefs registerDefaults: defaultValues];
+        [self setStatusText: @"Not Connected" withColor: [NSColor redColor]];
+        [spinner stopAnimation: self];
+        
+        // See if we have any configured servers (need a mutable array, hence the extra step here)
+        _anselServers = [[NSMutableArray alloc] initWithArray: [userPrefs objectForKey:TURAnselServersKey]];
+        
+        // Wait until iPhoto's export window is fully loaded before attempting a sheet
+        [[NSNotificationCenter defaultCenter] addObserver: self
+                                                 selector: @selector(exportWindowDidBecomeKey:)
+                                                     name: NSWindowDidBecomeKeyNotification 
+                                                  object :nil];
+        
+        // Holds gallery's images info for the gallery preview 
+        _browserData = [[NSMutableArray alloc] init];
+       }
+
+       NSLog(@"initWithAPIManager completed");
+       return self;
+}
+
+- (void)dealloc
+{
+    [_anselServers release];
+    [_anselController setDelegate:nil];
+    [_anselController release];
+    
+       // Release the top-level objects from the nib.
+       [_topLevelNibObjects makeObjectsPerformSelector:@selector(release)];
+       [_topLevelNibObjects release];
+       [_progressLock release];
+       [_exportManager release];
+       [super dealloc];
+}
+
+
+#pragma mark -
+// UI Methods
+#pragma mark UI Methods
+
+- (NSView *)settingsView
+{
+       if (nil == settingsView)
+       {
+               // Load the nib using NSNib, and retain the array of top-level objects so we can release
+               // them properly in dealloc
+               NSBundle *myBundle = [NSBundle bundleForClass:[self class]];
+               NSNib *myNib = [[NSNib alloc] initWithNibNamed:@"ApertureToAnselExportPlugin" bundle:myBundle];
+               if ([myNib instantiateNibWithOwner:self topLevelObjects:&_topLevelNibObjects])
+               {
+                       [_topLevelNibObjects retain];
+               }
+               [myNib release];
+       }
+       
+       return settingsView;
+}
+
+- (NSView *)firstView
+{
+       return firstView;
+}
+
+- (NSView *)lastView
+{
+       return lastView;
+}
+
+- (void)willBeActivated
+{
+       
+}
+
+- (void)willBeDeactivated
+{
+       
+}
+
+#pragma mark
+// Aperture UI Controls
+#pragma mark Aperture UI Controls
+
+- (BOOL)allowsOnlyPlugInPresets
+{
+       return NO;      
+}
+
+- (BOOL)allowsMasterExport
+{
+       return NO;      
+}
+
+- (BOOL)allowsVersionExport
+{
+       return YES;     
+}
+
+- (BOOL)wantsFileNamingControls
+{
+       return NO;      
+}
+
+- (void)exportManagerExportTypeDidChange
+{
+       
+}
+
+
+#pragma mark -
+// Save Path Methods
+#pragma mark Save/Path Methods
+
+- (BOOL)wantsDestinationPathPrompt
+{
+       return NO;
+}
+
+- (NSString *)destinationPath
+{
+       return @"/tmp";
+}
+
+- (NSString *)defaultDirectory
+{
+       return nil;
+}
+
+
+#pragma mark -
+// Export Process Methods
+#pragma mark Export Process Methods
+
+- (void)exportManagerShouldBeginExport
+{      // You must call [_exportManager shouldBeginExport] here or elsewhere before Aperture will begin the export process
+    NSLog(@"exportManagerShouldBeginExport");
+    [_exportManager shouldBeginExport];
+}
+
+- (void)exportManagerWillBeginExportToPath:(NSString *)path {}
+
+- (BOOL)exportManagerShouldExportImageAtIndex:(unsigned)index
+{
+       return YES;
+}
+
+- (void)exportManagerWillExportImageAtIndex:(unsigned)index
+{
+       
+}
+
+- (BOOL)exportManagerShouldWriteImageData:(NSData *)imageData toRelativePath:(NSString *)path forImageAtIndex:(unsigned)index
+{
+//    // Detach to a new thread for the export.
+//    [NSApplication detachDrawingThread: @selector(runExport) 
+//                              toTarget: self
+//                            withObject: nil];
+    
+    NSString *base64ImageData = [NSString base64StringFromData: imageData  
+                                                        length: [imageData length]];
+    NSDictionary *properties = [_exportManager propertiesWithoutThumbnailForImageAtIndex: index];
+    NSArray *keys = [[NSArray alloc] initWithObjects:
+                     @"filename", @"description", @"data", @"type", @"tags", nil];
+    
+    NSString *fileType = @"jpeg"; //@TODO
+    NSArray *values = [[NSArray alloc] initWithObjects:
+                       path,
+                       [properties objectForKey: kExportKeyVersionName], //imagedescription
+                       base64ImageData,
+                       fileType,
+                       [properties objectForKey:kExportKeyKeywords], //keywords
+                       nil];
+    
+    
+    
+    NSDictionary *imageDataDict = [[NSDictionary alloc] initWithObjects:values
+                                                                forKeys:keys];
+    NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:
+                            imageDataDict, @"data", 
+                            [NSNumber numberWithBool:NO], @"default",
+                            nil];
+//    
+    //Start upload with current gallery.
+    NSLog(@"Uploading photo %d out of %d", index, [_exportManager imageCount]);
+    [_currentGallery uploadImageObject: params];
+    [keys release];
+    [values release];
+    [imageDataDict release];
+    //[metadata release];
+    [params release];
+    //[iptcDict release];
+
+       return NO;      
+}
+
+- (void)exportManagerDidWriteImageDataToRelativePath:(NSString *)relativePath forImageAtIndex:(unsigned)index
+{
+       NSLog(@"exportManagerDidWriteImageDataToRelativePath %d", index);
+}
+
+- (void)exportManagerDidFinishExport
+{
+       // You must call [_exportManager shouldFinishExport] before Aperture will put away the progress window and complete the export.
+       // NOTE: You should assume that your plug-in will be deallocated immediately following this call. Be sure you have cleaned up
+       // any callbacks or running threads before calling.
+    [_exportManager shouldFinishExport];
+}
+
+- (void)exportManagerShouldCancelExport
+{
+       // You must call [_exportManager shouldCancelExport] here or elsewhere before Aperture will cancel the export process
+       // NOTE: You should assume that your plug-in will be deallocated immediately following this call. Be sure you have cleaned up
+       // any callbacks or running threads before calling.
+    [_exportManager shouldCancelExport];
+}
+
+
+#pragma mark -
+       // Progress Methods
+#pragma mark Progress Methods
+
+- (ApertureExportProgress *)progress
+{
+       return &exportProgress;
+}
+
+- (void)lockProgress
+{
+       
+       if (!_progressLock)
+               _progressLock = [[NSLock alloc] init];
+               
+       [_progressLock lock];
+}
+
+- (void)unlockProgress
+{
+       [_progressLock unlock];
+}
+
+- (NSWindow *)window
+{
+    return [_exportManager window];
+}
+
+#pragma mark NSPopUpButton Notification Handlers
+- (void) NSPopUpWillPopUp:(id)theButton
+{
+    // Remember the previous selection before it changes.
+    // The 'clickServer' action will handle what to do with the selection.
+    mIndexOfPreviouslySelectedServer = [mServersPopUp indexOfSelectedItem];
+}
+
+#pragma mark -
+#pragma mark TURAnselDelegate
+
+// The ansel controller is initialized, populate the gallery data
+// and update the UI.
+- (void)TURAnselDidInitialize
+{   
+    NSLog(@"TURAnselDidInitialize");
+    [galleryCombo reloadData];
+    [galleryCombo setEnabled: true];
+    [mNewGalleryButton setEnabled: true];
+    [self setStatusText: @"Connected" withColor: [NSColor greenColor]];
+    [self canExport];
+    [spinner stopAnimation: self];
+    [mServersPopUp setEnabled: true];
+}
+
+
+- (void)TURAnselHadError: (NSError *)error
+{
+    NSLog(@"TURAnselHadError");
+        // Stop the spinner
+        [spinner stopAnimation: self];
+        [self disconnect];
+        [mServersPopUp setEnabled: true];
+    
+    NSAlert *alert;
+    // For some reason, this method doesn't pick up our userInfo dictionary...
+    if ([[error userInfo] valueForKey:@"NSLocalizedDescriptionKey"] == nil) {
+        alert = [[NSAlert alertWithError: error] retain];
+    } else {
+        alert = [[NSAlert alloc] init];
+        [alert setAlertStyle:NSWarningAlertStyle];
+        [alert setMessageText:[[error userInfo] valueForKey:@"NSLocalizedDescriptionKey"]];
+        if ([[error userInfo] valueForKey: @"NSLocalizedRecoverySuggestionErrorKey"] != nil) {
+            [alert setInformativeText: [[error userInfo] valueForKey: @"NSLocalizedRecoverySuggestionErrorKey"]];
+        }
+    }
+    
+    [alert beginSheetModalForWindow:[self window]
+                      modalDelegate:nil
+                     didEndSelector:nil
+                        contextInfo:nil];
+    [alert release];
+}
+
+#pragma mark -
+#pragma mark comboBoxDelegate
+- (void)comboBoxSelectionDidChange:(NSNotification *)notification
+{    
+    [spinner startAnimation: self];
+    [self setStatusText: @"Loading gallery data..."];
+    int row = [galleryCombo indexOfSelectedItem];
+    [_currentGallery setDelegate:nil];
+    [_currentGallery autorelease];
+    _currentGallery = [[_anselController getGalleryByIndex:row] retain];
+    [_currentGallery setDelegate: self];
+    
+    // Obtain and properly size the image for screen
+    NSImage *theImage = [[NSImage alloc] initWithContentsOfURL: [_currentGallery galleryDefaultImageURL]];
+    NSSize imageSize;
+    imageSize.width = [[theImage bestRepresentationForDevice:nil] pixelsWide];
+    imageSize.height = [[theImage bestRepresentationForDevice:nil] pixelsHigh];    
+    [theImage setScalesWhenResized:YES];
+    [theImage setSize:imageSize];
+    
+    // Show it
+    [defaultImageView setImage: theImage];
+    
+    [theImage release];
+    [self canExport];
+    [viewGallery setEnabled: YES];
+    [spinner stopAnimation: self];
+    [self setStatusText: @"Connected" withColor: [NSColor greenColor]];
+}
+
+#pragma mark export notifications
+- (void)exportWindowWillClose: (NSNotification *)notification
+{
+    [mServersPopUp selectItemAtIndex: 0];
+    [self disconnect];
+    [[NSNotificationCenter defaultCenter] removeObserver: self
+                                                    name: NSWindowWillCloseNotification
+                                                  object: nil];
+}
+
+- (void)exportWindowDidBecomeKey: (NSNotification *)notification
+{
+    NSLog(@"exportWindowDidBecomeKey");
+    // Register for the close notification
+    [[NSNotificationCenter defaultCenter] addObserver: self
+                                             selector: @selector(exportWindowWillClose:)
+                                                 name: NSWindowWillCloseNotification
+                                              object :nil];
+    
+    // Only do this once
+    [[NSNotificationCenter defaultCenter] removeObserver: self
+                                                    name: NSWindowDidBecomeKeyNotification
+                                                  object: nil];
+    
+    [self updateServersPopupMenu];
+    
+    // Register for notifications
+    [[NSNotificationCenter defaultCenter] addObserver: self
+                                             selector: @selector(NSPopUpWillPopUp:)
+                                                 name:@"NSPopUpButtonWillPopUpNotification"
+                                               object: nil];
+    if ([_anselServers count] == 0) {
+        [self showNewServerSheet];
+    } else {
+        // Try to autoconnect and select the proper server in the popup.
+        NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+        NSDictionary *defaultServer = [prefs objectForKey:TURAnselDefaultServerKey];
+        if ([defaultServer count]) {
+            _currentServer = [defaultServer retain];
+            int itemCount = [mServersPopUp numberOfItems];
+            
+            // C99 mode is off by default in Apple's gcc.
+            int i;
+            for (i = 0; i < itemCount; i++) {
+                NSDictionary *menuItem = [[mServersPopUp itemAtIndex: i] representedObject];
+                if ([[menuItem objectForKey: TURAnselServerNickKey] isEqual: [_currentServer objectForKey:TURAnselServerNickKey]]) {
+                    [mServersPopUp selectItemAtIndex: i];
+                    break;
+                }
+            }
+            
+            [self doConnect];
+        }
+    }
+}
+// Server setup sheet
+-(IBAction)doAddServer: (id)sender
+{
+    // TODO: Sanity checks
+    NSDictionary *newServer = [[NSDictionary alloc] initWithObjectsAndKeys:
+                               [mServerSheetServerNickName stringValue], TURAnselServerNickKey,
+                               [mServerSheetHostURL stringValue], TURAnselServerEndpointKey,
+                               [mServerSheetUsername stringValue], TURAnselServerUsernameKey,
+                               [mServerSheetPassword stringValue], TURAnselServerPasswordKey,
+                               nil];
+    [_anselServers addObject: newServer];
+    [NSApp endSheet: newServerSheet];
+    [newServerSheet orderOut: nil];
+    _currentServer = [newServer retain];
+    [self doConnect];
+    
+    // Save it to the userdefaults
+    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+    [prefs setObject:_anselServers  forKey:TURAnselServersKey];   
+    
+    int defaultState = [mMakeNewServerDefault state];
+    if (defaultState == NSOnState) {
+        [prefs setObject: _currentServer forKey: TURAnselDefaultServerKey];
+    }
+    
+    [prefs synchronize];
+    [self updateServersPopupMenu];
+    [newServer release];
+}
+
+- (IBAction)doCancelAddServer: (id)sender
+{
+    [NSApp endSheet: newServerSheet];
+    [newServerSheet orderOut: nil];
+}
+
+// Action sent by the server pop up menu
+- (IBAction)clickServer: (id)sender
+{
+    // Are we set to "none" now?
+    if ([mServersPopUp indexOfSelectedItem] == 0) {
+        [self disconnect];
+    } else if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) {
+        // Server list
+        [self showServerListPanel];
+    } else if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 2) {
+        // New Server
+        [self showNewServerSheet];
+    } else if (![[[mServersPopUp selectedItem] title] isEqual:@"(None)"]) {
+        // Connect to a server
+        if (_currentServer != nil) {
+            [self disconnect];
+        }
+        _currentServer = [[mServersPopUp selectedItem] representedObject];
+        [self doConnect];
+    }
+}
+
+#pragma mark -
+#pragma mark PrivateAPI
+
+// See if we have everything we need to export...
+- (void)canExport
+{
+    if ([_anselController state] == TURAnselStateConnected) {
+        [mNewGalleryButton setEnabled: YES];
+        [galleryCombo setEnabled: YES];
+    } else {
+        [mNewGalleryButton setEnabled: NO];
+        [galleryCombo setEnabled: NO];
+        [viewGallery setEnabled: NO];
+    }
+}
+
+- (void)setStatusText: (NSString *)message withColor:(NSColor *)theColor
+{
+    [statusLabel setStringValue: message];
+    [statusLabel setTextColor: theColor];
+}
+
+- (void)setStatusText: (NSString *)message
+{
+    [statusLabel setStringValue: message];
+    [statusLabel setTextColor: [NSColor blackColor]];
+}
+
+- (void)updateServersPopupMenu
+{
+    [mServersPopUp removeAllItems];
+    [mServersPopUp addItemWithTitle:@"(None)"];
+    for (NSDictionary *server in _anselServers) {
+        NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle: [server objectForKey: TURAnselServerNickKey]
+                                                          action: nil
+                                                   keyEquivalent: @""];
+        [menuItem setRepresentedObject: server];
+        [[mServersPopUp menu] addItem: menuItem];
+    }
+    
+    // add separator
+    [[mServersPopUp menu] addItem:[NSMenuItem separatorItem]];
+    
+    // add Add Gallery... and Edit List... options
+    [mServersPopUp addItemWithTitle:@"Add Server..."];
+    [mServersPopUp addItemWithTitle:@"Edit Server List..."];
+    
+    // fix selection
+    [mServersPopUp selectItemAtIndex:0];
+}
+
+- (void) showNewServerSheet
+{
+    [NSApp beginSheet: newServerSheet
+       modalForWindow: [self window]
+        modalDelegate: nil
+       didEndSelector: nil
+          contextInfo: nil];
+    
+    // Make sure these are cleared.
+    [mServerSheetHostURL setStringValue: @""];
+    [mServerSheetUsername setStringValue: @""];
+    [mServerSheetPassword setStringValue: @""];
+    [mServerSheetServerNickName setStringValue: @""];
+}
+
+- (void) showServerListPanel
+{
+    [NSApp beginSheet: serverListPanel
+       modalForWindow: [self window]
+        modalDelegate: nil
+       didEndSelector: nil
+          contextInfo: nil];
+    
+    [serverTable setDelegate: self];
+}
+
+// Start the connection process.
+-(void)doConnect
+{
+    [galleryCombo deselectItemAtIndex: [galleryCombo indexOfSelectedItem]];
+    [mServersPopUp setEnabled: NO];
+    [mNewGalleryButton setEnabled: NO];
+    [viewGallery setEnabled: NO];
+    [self setStatusText: @"Connecting..."];
+    [spinner startAnimation: self];
+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+    NSDictionary *p = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:
+                                                              [_currentServer objectForKey:TURAnselServerEndpointKey],
+                                                              [_currentServer objectForKey:TURAnselServerUsernameKey],
+                                                              [_currentServer objectForKey:TURAnselServerPasswordKey],
+                                                              nil]
+                                                    forKeys: [NSArray arrayWithObjects:@"endpoint", @"username", @"password", nil]];
+    // Create our controller
+    _anselController = [[TURAnsel alloc] initWithConnectionParameters:p];
+    [_anselController setDelegate:self];
+    
+    // Set up the galleryCombo
+    [galleryCombo setDataSource:_anselController];
+    [galleryCombo setDelegate:self];
+    [spinner startAnimation:self];
+    // Detach to a new thread and do the actual login/retrieval of gallery list
+    [NSApplication detachDrawingThread: @selector(connect)
+                              toTarget: self 
+                            withObject: nil];
+    [p release];
+    [pool drain];
+}
+// Runs in a new thread.
+- (void)connect
+{
+    NSAutoreleasePool *threadPool = [[NSAutoreleasePool alloc] init];
+    [_anselController connect];
+    [threadPool drain];
+}
+@end
diff --git a/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.xcodeproj/project.pbxproj b/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.xcodeproj/project.pbxproj
new file mode 100644 (file)
index 0000000..9804cc1
--- /dev/null
@@ -0,0 +1,655 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 42;
+       objects = {
+
+/* Begin PBXBuildFile section */
+               8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
+               8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
+               B0AE230C1049F19D0096565B /* Panel.nib in Resources */ = {isa = PBXBuildFile; fileRef = B0AE230A1049F19D0096565B /* Panel.nib */; };
+               B0AE23391049F7770096565B /* TURAnselGalleryPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */; };
+               B0AE23411049F7A20096565B /* AnselGalleryPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */; };
+               B0D311D01049A7DE006B06C6 /* TURAnsel.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D311CB1049A7DE006B06C6 /* TURAnsel.m */; };
+               B0D311D11049A7DE006B06C6 /* TURAnselGallery.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */; };
+               B0D311D21049A7DE006B06C6 /* TURXMLConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D311CF1049A7DE006B06C6 /* TURXMLConnection.m */; };
+               B0D312241049A977006B06C6 /* NSDataAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3120F1049A977006B06C6 /* NSDataAdditions.m */; };
+               B0D312251049A977006B06C6 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312111049A977006B06C6 /* NSStringAdditions.m */; };
+               B0D312271049A977006B06C6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B0D312141049A977006B06C6 /* Localizable.strings */; };
+               B0D312281049A977006B06C6 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = B0D312161049A977006B06C6 /* LICENSE */; };
+               B0D312291049A977006B06C6 /* README in Resources */ = {isa = PBXBuildFile; fileRef = B0D312171049A977006B06C6 /* README */; };
+               B0D3122A1049A977006B06C6 /* XMLRPCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121B1049A977006B06C6 /* XMLRPCConnection.m */; };
+               B0D3122B1049A977006B06C6 /* XMLRPCDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121D1049A977006B06C6 /* XMLRPCDecoder.m */; };
+               B0D3122C1049A977006B06C6 /* XMLRPCEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121F1049A977006B06C6 /* XMLRPCEncoder.m */; };
+               B0D3122D1049A977006B06C6 /* XMLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312211049A977006B06C6 /* XMLRPCRequest.m */; };
+               B0D3122E1049A977006B06C6 /* XMLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312231049A977006B06C6 /* XMLRPCResponse.m */; };
+               B0D312321049A9F2006B06C6 /* XMLRPC-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = B0D312311049A9F2006B06C6 /* XMLRPC-Info.plist */; };
+               B0D312591049AD08006B06C6 /* XMLRPC.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D312181049A977006B06C6 /* XMLRPC.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125A1049AD16006B06C6 /* XMLRPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D3121A1049A977006B06C6 /* XMLRPCConnection.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125B1049AD16006B06C6 /* XMLRPCDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D3121C1049A977006B06C6 /* XMLRPCDecoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125C1049AD16006B06C6 /* XMLRPCEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D3121E1049A977006B06C6 /* XMLRPCEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125D1049AD16006B06C6 /* XMLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D312201049A977006B06C6 /* XMLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125E1049AD16006B06C6 /* XMLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D312221049A977006B06C6 /* XMLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D3125F1049AD42006B06C6 /* XMLRPCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121B1049A977006B06C6 /* XMLRPCConnection.m */; };
+               B0D312601049AD42006B06C6 /* XMLRPCDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121D1049A977006B06C6 /* XMLRPCDecoder.m */; };
+               B0D312611049AD42006B06C6 /* XMLRPCEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3121F1049A977006B06C6 /* XMLRPCEncoder.m */; };
+               B0D312621049AD42006B06C6 /* XMLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312211049A977006B06C6 /* XMLRPCRequest.m */; };
+               B0D312631049AD42006B06C6 /* XMLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312231049A977006B06C6 /* XMLRPCResponse.m */; };
+               B0D312641049AD51006B06C6 /* NSDataAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D3120E1049A977006B06C6 /* NSDataAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D312651049AD51006B06C6 /* NSStringAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D312101049A977006B06C6 /* NSStringAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               B0D312661049AD5B006B06C6 /* NSDataAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D3120F1049A977006B06C6 /* NSDataAdditions.m */; };
+               B0D312671049AD5B006B06C6 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D312111049A977006B06C6 /* NSStringAdditions.m */; };
+               B0D312681049AD7F006B06C6 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = B0D312161049A977006B06C6 /* LICENSE */; };
+               B0D312691049AD7F006B06C6 /* README in Resources */ = {isa = PBXBuildFile; fileRef = B0D312171049A977006B06C6 /* README */; };
+               B0D3126A1049AD9A006B06C6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B0D312141049A977006B06C6 /* Localizable.strings */; };
+               B0D312A01049B26B006B06C6 /* XMLRPC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B0D312941049B24A006B06C6 /* XMLRPC.framework */; };
+               D118EA660AC08CCB006DD2FE /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D118EA640AC08CCB006DD2FE /* Localizable.strings */; };
+               D15DEA4A0ABF639500CBE3A5 /* PluginManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D15DEA490ABF639500CBE3A5 /* PluginManager.framework */; };
+               D15DEA4F0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = D15DEA4D0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m */; };
+               D15DEA520ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib in Resources */ = {isa = PBXBuildFile; fileRef = D15DEA500ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               B0D312401049AB4A006B06C6 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = B0D312371049AACC006B06C6;
+                       remoteInfo = XMLRPC;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+               B0D3124D1049AB8B006B06C6 /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 2147483647;
+                       dstPath = "";
+                       dstSubfolderSpec = 10;
+                       files = (
+                               B0D312A01049B26B006B06C6 /* XMLRPC.framework in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+               089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+               089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+               089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+               1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+               287924B70DAEB2A20074992A /* ApertureExportManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureExportManager.h; sourceTree = "<group>"; };
+               287924B80DAEB2A20074992A /* ApertureExportPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureExportPlugIn.h; sourceTree = "<group>"; };
+               287924B90DAEB2A20074992A /* ApertureSDKCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureSDKCommon.h; sourceTree = "<group>"; };
+               32DBCF630370AF2F00C91783 /* ApertureToAnselExportPlugin_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureToAnselExportPlugin_Prefix.pch; sourceTree = "<group>"; };
+               8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+               B0AE230B1049F19D0096565B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Panel.nib; sourceTree = "<group>"; };
+               B0AE23351049F7770096565B /* TURAnselGalleryPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGalleryPanelController.h; sourceTree = "<group>"; };
+               B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGalleryPanelController.m; sourceTree = "<group>"; };
+               B0AE233E1049F7A20096565B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/AnselGalleryPanel.nib; sourceTree = "<group>"; };
+               B0D311CA1049A7DE006B06C6 /* TURAnsel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnsel.h; sourceTree = "<group>"; };
+               B0D311CB1049A7DE006B06C6 /* TURAnsel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnsel.m; sourceTree = "<group>"; };
+               B0D311CC1049A7DE006B06C6 /* TURAnselGallery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGallery.h; sourceTree = "<group>"; };
+               B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGallery.m; sourceTree = "<group>"; };
+               B0D311CE1049A7DE006B06C6 /* TURXMLConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURXMLConnection.h; sourceTree = "<group>"; };
+               B0D311CF1049A7DE006B06C6 /* TURXMLConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURXMLConnection.m; sourceTree = "<group>"; };
+               B0D3120E1049A977006B06C6 /* NSDataAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDataAdditions.h; sourceTree = "<group>"; };
+               B0D3120F1049A977006B06C6 /* NSDataAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDataAdditions.m; sourceTree = "<group>"; };
+               B0D312101049A977006B06C6 /* NSStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSStringAdditions.h; sourceTree = "<group>"; };
+               B0D312111049A977006B06C6 /* NSStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringAdditions.m; sourceTree = "<group>"; };
+               B0D312151049A977006B06C6 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
+               B0D312161049A977006B06C6 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
+               B0D312171049A977006B06C6 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+               B0D312181049A977006B06C6 /* XMLRPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPC.h; sourceTree = "<group>"; };
+               B0D312191049A977006B06C6 /* XMLRPC.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPC.pch; sourceTree = "<group>"; };
+               B0D3121A1049A977006B06C6 /* XMLRPCConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCConnection.h; sourceTree = "<group>"; };
+               B0D3121B1049A977006B06C6 /* XMLRPCConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCConnection.m; sourceTree = "<group>"; };
+               B0D3121C1049A977006B06C6 /* XMLRPCDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCDecoder.h; sourceTree = "<group>"; };
+               B0D3121D1049A977006B06C6 /* XMLRPCDecoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCDecoder.m; sourceTree = "<group>"; };
+               B0D3121E1049A977006B06C6 /* XMLRPCEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCEncoder.h; sourceTree = "<group>"; };
+               B0D3121F1049A977006B06C6 /* XMLRPCEncoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCEncoder.m; sourceTree = "<group>"; };
+               B0D312201049A977006B06C6 /* XMLRPCRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCRequest.h; sourceTree = "<group>"; };
+               B0D312211049A977006B06C6 /* XMLRPCRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCRequest.m; sourceTree = "<group>"; };
+               B0D312221049A977006B06C6 /* XMLRPCResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCResponse.h; sourceTree = "<group>"; };
+               B0D312231049A977006B06C6 /* XMLRPCResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCResponse.m; sourceTree = "<group>"; };
+               B0D312311049A9F2006B06C6 /* XMLRPC-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "XMLRPC-Info.plist"; sourceTree = "<group>"; };
+               B0D312391049AACC006B06C6 /* XMLRPC-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "XMLRPC-Info.plist"; sourceTree = "<group>"; };
+               B0D312941049B24A006B06C6 /* XMLRPC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XMLRPC.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               D118EA650AC08CCB006DD2FE /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
+               D118EB0F0AC08EAE006DD2FE /* ApertureToAnselExportPlugin.ApertureExport */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ApertureToAnselExportPlugin.ApertureExport; sourceTree = BUILT_PRODUCTS_DIR; };
+               D15DEA490ABF639500CBE3A5 /* PluginManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PluginManager.framework; path = /Library/Frameworks/PluginManager.framework; sourceTree = "<absolute>"; };
+               D15DEA4D0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ApertureToAnselExportPlugin.m; sourceTree = "<group>"; };
+               D15DEA4E0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ApertureToAnselExportPlugin.h; sourceTree = "<group>"; };
+               D15DEA510ABF641300CBE3A5 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/ApertureToAnselExportPlugin.nib; sourceTree = "<group>"; };
+               D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               8D5B49B3048680CD000E48DA /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */,
+                               D15DEA4A0ABF639500CBE3A5 /* PluginManager.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               B0D312361049AACC006B06C6 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               089C166AFE841209C02AAC07 /* MyApertureExportPlugIn */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D312931049B17F006B06C6 /* AnselToolkit */,
+                               287924B60DAEB2A20074992A /* ApertureHeaders */,
+                               08FB77AFFE84173DC02AAC07 /* Classes */,
+                               32C88E010371C26100C91783 /* Other Sources */,
+                               089C167CFE841241C02AAC07 /* Resources */,
+                               089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
+                               D118EB1C0AC08EE7006DD2FE /* Products */,
+                               B0D312391049AACC006B06C6 /* XMLRPC-Info.plist */,
+                       );
+                       name = MyApertureExportPlugIn;
+                       sourceTree = "<group>";
+               };
+               089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D3120C1049A977006B06C6 /* xmlrpc-1.5.1 */,
+                               1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
+                               1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
+                       );
+                       name = "Frameworks and Libraries";
+                       sourceTree = "<group>";
+               };
+               089C167CFE841241C02AAC07 /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */,
+                               B0AE230A1049F19D0096565B /* Panel.nib */,
+                               D15DEA500ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib */,
+                               8D5B49B7048680CD000E48DA /* Info.plist */,
+                               D118EA640AC08CCB006DD2FE /* Localizable.strings */,
+                               089C167DFE841241C02AAC07 /* InfoPlist.strings */,
+                       );
+                       name = Resources;
+                       sourceTree = "<group>";
+               };
+               08FB77AFFE84173DC02AAC07 /* Classes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               D15DEA4E0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.h */,
+                               D15DEA4D0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m */,
+                       );
+                       name = Classes;
+                       sourceTree = "<group>";
+               };
+               1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               D15DEA490ABF639500CBE3A5 /* PluginManager.framework */,
+                               1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
+                       );
+                       name = "Linked Frameworks";
+                       sourceTree = "<group>";
+               };
+               1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               089C167FFE841241C02AAC07 /* AppKit.framework */,
+                               D2F7E65807B2D6F200F64583 /* CoreData.framework */,
+                               089C1672FE841209C02AAC07 /* Foundation.framework */,
+                       );
+                       name = "Other Frameworks";
+                       sourceTree = "<group>";
+               };
+               287924B60DAEB2A20074992A /* ApertureHeaders */ = {
+                       isa = PBXGroup;
+                       children = (
+                               287924B70DAEB2A20074992A /* ApertureExportManager.h */,
+                               287924B80DAEB2A20074992A /* ApertureExportPlugIn.h */,
+                               287924B90DAEB2A20074992A /* ApertureSDKCommon.h */,
+                       );
+                       path = ApertureHeaders;
+                       sourceTree = "<group>";
+               };
+               32C88E010371C26100C91783 /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D311CF1049A7DE006B06C6 /* TURXMLConnection.m */,
+                               B0D311CE1049A7DE006B06C6 /* TURXMLConnection.h */,
+                               32DBCF630370AF2F00C91783 /* ApertureToAnselExportPlugin_Prefix.pch */,
+                       );
+                       name = "Other Sources";
+                       sourceTree = "<group>";
+               };
+               B0D3120C1049A977006B06C6 /* xmlrpc-1.5.1 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D312311049A9F2006B06C6 /* XMLRPC-Info.plist */,
+                               B0D3120D1049A977006B06C6 /* Additions */,
+                               B0D312131049A977006B06C6 /* Languages */,
+                               B0D312161049A977006B06C6 /* LICENSE */,
+                               B0D312171049A977006B06C6 /* README */,
+                               B0D312181049A977006B06C6 /* XMLRPC.h */,
+                               B0D312191049A977006B06C6 /* XMLRPC.pch */,
+                               B0D3121A1049A977006B06C6 /* XMLRPCConnection.h */,
+                               B0D3121B1049A977006B06C6 /* XMLRPCConnection.m */,
+                               B0D3121C1049A977006B06C6 /* XMLRPCDecoder.h */,
+                               B0D3121D1049A977006B06C6 /* XMLRPCDecoder.m */,
+                               B0D3121E1049A977006B06C6 /* XMLRPCEncoder.h */,
+                               B0D3121F1049A977006B06C6 /* XMLRPCEncoder.m */,
+                               B0D312201049A977006B06C6 /* XMLRPCRequest.h */,
+                               B0D312211049A977006B06C6 /* XMLRPCRequest.m */,
+                               B0D312221049A977006B06C6 /* XMLRPCResponse.h */,
+                               B0D312231049A977006B06C6 /* XMLRPCResponse.m */,
+                       );
+                       path = "xmlrpc-1.5.1";
+                       sourceTree = "<group>";
+               };
+               B0D3120D1049A977006B06C6 /* Additions */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D3120E1049A977006B06C6 /* NSDataAdditions.h */,
+                               B0D3120F1049A977006B06C6 /* NSDataAdditions.m */,
+                               B0D312101049A977006B06C6 /* NSStringAdditions.h */,
+                               B0D312111049A977006B06C6 /* NSStringAdditions.m */,
+                       );
+                       path = Additions;
+                       sourceTree = "<group>";
+               };
+               B0D312131049A977006B06C6 /* Languages */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D312141049A977006B06C6 /* Localizable.strings */,
+                       );
+                       path = Languages;
+                       sourceTree = "<group>";
+               };
+               B0D312931049B17F006B06C6 /* AnselToolkit */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0AE23351049F7770096565B /* TURAnselGalleryPanelController.h */,
+                               B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */,
+                               B0D311CC1049A7DE006B06C6 /* TURAnselGallery.h */,
+                               B0D311CB1049A7DE006B06C6 /* TURAnsel.m */,
+                               B0D311CA1049A7DE006B06C6 /* TURAnsel.h */,
+                               B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */,
+                       );
+                       name = AnselToolkit;
+                       sourceTree = "<group>";
+               };
+               D118EB1C0AC08EE7006DD2FE /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B0D312941049B24A006B06C6 /* XMLRPC.framework */,
+                               D118EB0F0AC08EAE006DD2FE /* ApertureToAnselExportPlugin.ApertureExport */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+               B0D312331049AACC006B06C6 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               B0D312641049AD51006B06C6 /* NSDataAdditions.h in Headers */,
+                               B0D312651049AD51006B06C6 /* NSStringAdditions.h in Headers */,
+                               B0D3125A1049AD16006B06C6 /* XMLRPCConnection.h in Headers */,
+                               B0D3125B1049AD16006B06C6 /* XMLRPCDecoder.h in Headers */,
+                               B0D3125C1049AD16006B06C6 /* XMLRPCEncoder.h in Headers */,
+                               B0D3125D1049AD16006B06C6 /* XMLRPCRequest.h in Headers */,
+                               B0D3125E1049AD16006B06C6 /* XMLRPCResponse.h in Headers */,
+                               B0D312591049AD08006B06C6 /* XMLRPC.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+               8D5B49AC048680CD000E48DA /* ApertureToAnselExportPlugin */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "ApertureToAnselExportPlugin" */;
+                       buildPhases = (
+                               8D5B49AF048680CD000E48DA /* Resources */,
+                               8D5B49B1048680CD000E48DA /* Sources */,
+                               8D5B49B3048680CD000E48DA /* Frameworks */,
+                               B0D3124D1049AB8B006B06C6 /* CopyFiles */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               B0D312411049AB4A006B06C6 /* PBXTargetDependency */,
+                       );
+                       name = ApertureToAnselExportPlugin;
+                       productInstallPath = "$(HOME)/Library/Bundles";
+                       productName = MyApertureExportPlugIn;
+                       productReference = D118EB0F0AC08EAE006DD2FE /* ApertureToAnselExportPlugin.ApertureExport */;
+                       productType = "com.apple.product-type.bundle";
+               };
+               B0D312371049AACC006B06C6 /* XMLRPC */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = B0D3123C1049AACD006B06C6 /* Build configuration list for PBXNativeTarget "XMLRPC" */;
+                       buildPhases = (
+                               B0D312331049AACC006B06C6 /* Headers */,
+                               B0D312341049AACC006B06C6 /* Resources */,
+                               B0D312351049AACC006B06C6 /* Sources */,
+                               B0D312361049AACC006B06C6 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = XMLRPC;
+                       productName = XMLRPC;
+                       productReference = B0D312941049B24A006B06C6 /* XMLRPC.framework */;
+                       productType = "com.apple.product-type.framework";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               089C1669FE841209C02AAC07 /* Project object */ = {
+                       isa = PBXProject;
+                       buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "ApertureToAnselExportPlugin" */;
+                       compatibilityVersion = "Xcode 2.4";
+                       hasScannedForEncodings = 1;
+                       mainGroup = 089C166AFE841209C02AAC07 /* MyApertureExportPlugIn */;
+                       productRefGroup = 089C166AFE841209C02AAC07 /* MyApertureExportPlugIn */;
+                       projectDirPath = "";
+                       projectRoot = "";
+                       targets = (
+                               8D5B49AC048680CD000E48DA /* ApertureToAnselExportPlugin */,
+                               B0D312371049AACC006B06C6 /* XMLRPC */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+               8D5B49AF048680CD000E48DA /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */,
+                               D15DEA520ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib in Resources */,
+                               D118EA660AC08CCB006DD2FE /* Localizable.strings in Resources */,
+                               B0D312271049A977006B06C6 /* Localizable.strings in Resources */,
+                               B0D312281049A977006B06C6 /* LICENSE in Resources */,
+                               B0D312291049A977006B06C6 /* README in Resources */,
+                               B0D312321049A9F2006B06C6 /* XMLRPC-Info.plist in Resources */,
+                               B0AE230C1049F19D0096565B /* Panel.nib in Resources */,
+                               B0AE23411049F7A20096565B /* AnselGalleryPanel.nib in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               B0D312341049AACC006B06C6 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               B0D3126A1049AD9A006B06C6 /* Localizable.strings in Resources */,
+                               B0D312681049AD7F006B06C6 /* LICENSE in Resources */,
+                               B0D312691049AD7F006B06C6 /* README in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               8D5B49B1048680CD000E48DA /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               D15DEA4F0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m in Sources */,
+                               B0D311D01049A7DE006B06C6 /* TURAnsel.m in Sources */,
+                               B0D311D11049A7DE006B06C6 /* TURAnselGallery.m in Sources */,
+                               B0D311D21049A7DE006B06C6 /* TURXMLConnection.m in Sources */,
+                               B0D312241049A977006B06C6 /* NSDataAdditions.m in Sources */,
+                               B0D312251049A977006B06C6 /* NSStringAdditions.m in Sources */,
+                               B0D3122A1049A977006B06C6 /* XMLRPCConnection.m in Sources */,
+                               B0D3122B1049A977006B06C6 /* XMLRPCDecoder.m in Sources */,
+                               B0D3122C1049A977006B06C6 /* XMLRPCEncoder.m in Sources */,
+                               B0D3122D1049A977006B06C6 /* XMLRPCRequest.m in Sources */,
+                               B0D3122E1049A977006B06C6 /* XMLRPCResponse.m in Sources */,
+                               B0AE23391049F7770096565B /* TURAnselGalleryPanelController.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               B0D312351049AACC006B06C6 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               B0D312661049AD5B006B06C6 /* NSDataAdditions.m in Sources */,
+                               B0D312671049AD5B006B06C6 /* NSStringAdditions.m in Sources */,
+                               B0D3125F1049AD42006B06C6 /* XMLRPCConnection.m in Sources */,
+                               B0D312601049AD42006B06C6 /* XMLRPCDecoder.m in Sources */,
+                               B0D312611049AD42006B06C6 /* XMLRPCEncoder.m in Sources */,
+                               B0D312621049AD42006B06C6 /* XMLRPCRequest.m in Sources */,
+                               B0D312631049AD42006B06C6 /* XMLRPCResponse.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               B0D312411049AB4A006B06C6 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = B0D312371049AACC006B06C6 /* XMLRPC */;
+                       targetProxy = B0D312401049AB4A006B06C6 /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+               089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               089C167EFE841241C02AAC07 /* English */,
+                       );
+                       name = InfoPlist.strings;
+                       sourceTree = "<group>";
+               };
+               B0AE230A1049F19D0096565B /* Panel.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               B0AE230B1049F19D0096565B /* English */,
+                       );
+                       name = Panel.nib;
+                       sourceTree = "<group>";
+               };
+               B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               B0AE233E1049F7A20096565B /* English */,
+                       );
+                       name = AnselGalleryPanel.nib;
+                       sourceTree = "<group>";
+               };
+               B0D312141049A977006B06C6 /* Localizable.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               B0D312151049A977006B06C6 /* English */,
+                       );
+                       name = Localizable.strings;
+                       sourceTree = "<group>";
+               };
+               D118EA640AC08CCB006DD2FE /* Localizable.strings */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               D118EA650AC08CCB006DD2FE /* English */,
+                       );
+                       name = Localizable.strings;
+                       sourceTree = "<group>";
+               };
+               D15DEA500ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               D15DEA510ABF641300CBE3A5 /* English */,
+                       );
+                       name = ApertureToAnselExportPlugin.nib;
+                       sourceTree = "<group>";
+               };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+               1DEB913B08733D840010E9CD /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               COPY_PHASE_STRIP = NO;
+                               DEPLOYMENT_LOCATION = YES;
+                               DSTROOT = /;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ApertureToAnselExportPlugin_Prefix.pch;
+                               INFOPLIST_FILE = Info.plist;
+                               INSTALL_PATH = "/Users/mrubinsk/Library/Application Support/Aperture/Plug-Ins";
+                               PRODUCT_NAME = ApertureToAnselExportPlugin;
+                               SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
+                               WRAPPER_EXTENSION = ApertureExport;
+                               ZERO_LINK = YES;
+                       };
+                       name = Debug;
+               };
+               1DEB913C08733D840010E9CD /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = (
+                                       ppc,
+                                       i386,
+                               );
+                               DSTROOT = /;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = ApertureToAnselExportPlugin_Prefix.pch;
+                               INFOPLIST_FILE = Info.plist;
+                               INSTALL_PATH = "$(HOME)/Library/Application Support/Aperture/Plug-Ins/Export/";
+                               PRODUCT_NAME = ApertureToAnselExportPlugin;
+                               WRAPPER_EXTENSION = ApertureExport;
+                       };
+                       name = Release;
+               };
+               1DEB913F08733D840010E9CD /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "/Library/Frameworks//**";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               PREBINDING = NO;
+                               SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+                       };
+                       name = Debug;
+               };
+               1DEB914008733D840010E9CD /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = (
+                                       ppc,
+                                       i386,
+                               );
+                               FRAMEWORK_SEARCH_PATHS = "/Library/Frameworks//**";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               PREBINDING = NO;
+                               SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+                       };
+                       name = Release;
+               };
+               B0D3123A1049AACC006B06C6 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               COPY_PHASE_STRIP = NO;
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               FRAMEWORK_VERSION = A;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
+                               INFOPLIST_FILE = "XMLRPC-Info.plist";
+                               INSTALL_PATH = "$(HOME)/Library/Frameworks";
+                               OTHER_LDFLAGS = (
+                                       "-framework",
+                                       Foundation,
+                                       "-framework",
+                                       AppKit,
+                               );
+                               PREBINDING = NO;
+                               PRODUCT_NAME = XMLRPC;
+                       };
+                       name = Debug;
+               };
+               B0D3123B1049AACC006B06C6 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               COPY_PHASE_STRIP = YES;
+                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+                               DYLIB_COMPATIBILITY_VERSION = 1;
+                               DYLIB_CURRENT_VERSION = 1;
+                               FRAMEWORK_VERSION = A;
+                               GCC_ENABLE_FIX_AND_CONTINUE = NO;
+                               GCC_MODEL_TUNING = G5;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
+                               INFOPLIST_FILE = "XMLRPC-Info.plist";
+                               INSTALL_PATH = "@loader_path/../Frameworks";
+                               OTHER_LDFLAGS = (
+                                       "-framework",
+                                       Foundation,
+                                       "-framework",
+                                       AppKit,
+                               );
+                               PREBINDING = NO;
+                               PRODUCT_NAME = XMLRPC;
+                               ZERO_LINK = NO;
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "ApertureToAnselExportPlugin" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1DEB913B08733D840010E9CD /* Debug */,
+                               1DEB913C08733D840010E9CD /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "ApertureToAnselExportPlugin" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1DEB913F08733D840010E9CD /* Debug */,
+                               1DEB914008733D840010E9CD /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               B0D3123C1049AACD006B06C6 /* Build configuration list for PBXNativeTarget "XMLRPC" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               B0D3123A1049AACC006B06C6 /* Debug */,
+                               B0D3123B1049AACC006B06C6 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
diff --git a/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin_Prefix.pch b/ApertureToAnselExportPlugin/ApertureToAnselExportPlugin_Prefix.pch
new file mode 100644 (file)
index 0000000..a876860
--- /dev/null
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'MyApertureExportPlugIn' target in the 'MyApertureExportPlugIn' project.
+//
+
+#ifdef __OBJC__
+    #import <Cocoa/Cocoa.h>
+#endif
diff --git a/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib b/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib
new file mode 100644 (file)
index 0000000..aab13b8
--- /dev/null
@@ -0,0 +1,744 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
+       <data>
+               <int key="IBDocument.SystemTarget">1050</int>
+               <string key="IBDocument.SystemVersion">9F33</string>
+               <string key="IBDocument.InterfaceBuilderVersion">672</string>
+               <string key="IBDocument.AppKitVersion">949.34</string>
+               <string key="IBDocument.HIToolboxVersion">352.00</string>
+               <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <integer value="15"/>
+               </object>
+               <object class="NSArray" key="IBDocument.PluginDependencies">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+               </object>
+               <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <object class="NSCustomObject" id="1001">
+                               <string key="NSClassName">TURAnselGalleryPanelController</string>
+                       </object>
+                       <object class="NSCustomObject" id="1003">
+                               <string key="NSClassName">FirstResponder</string>
+                       </object>
+                       <object class="NSCustomObject" id="1004">
+                               <string key="NSClassName">NSApplication</string>
+                       </object>
+                       <object class="NSWindowTemplate" id="1005">
+                               <int key="NSWindowStyleMask">19</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{797, 724}, {267, 276}}</string>
+                               <int key="NSWTFlags">-536866816</int>
+                               <string key="NSWindowTitle">New Gallery</string>
+                               <string key="NSWindowClass">NSPanel</string>
+                               <nil key="NSViewClass"/>
+                               <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                               <object class="NSView" key="NSWindowView" id="1006">
+                                       <reference key="NSNextResponder"/>
+                                       <int key="NSvFlags">256</int>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSTextField" id="142371246">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 219}, {227, 22}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="104713052">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <object class="NSFont" key="NSSupport" id="1035187758">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.300000e+01</double>
+                                                                       <int key="NSfFlags">1044</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="142371246"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="926502601">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textBackgroundColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="537053071">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="649170679">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="957332318">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MAA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="970595672">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 240}, {88, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="303822681">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Name</string>
+                                                               <object class="NSFont" key="NSSupport" id="849304139">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.200000e+01</double>
+                                                                       <int key="NSfFlags">16</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="970595672"/>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="264684485">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="961976611">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="339290383">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlTextColor</string>
+                                                                       <reference key="NSColor" ref="957332318"/>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="768485006">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 195}, {73, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="441648904">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Slug</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="768485006"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="887381497">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 174}, {227, 22}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="347914051">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="887381497"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="649170679"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="703267117">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 103}, {227, 47}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="116149712">
+                                                               <int key="NSCellFlags">-1805517311</int>
+                                                               <int key="NSCellFlags2">272629760</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="703267117"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="649170679"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="568388187">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 150}, {124, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="774003593">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Description</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="568388187"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="64211119">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{116, 12}, {68, 32}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="490284298">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Cancel</string>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="64211119"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="184111456">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{184, 12}, {69, 32}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="13003559">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Save</string>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="184111456"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSComboBox" id="137843971">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 56}, {230, 26}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSComboBoxCell" key="NSCell" id="625134106">
+                                                               <int key="NSCellFlags">879885888</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="137843971"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                               <int key="NSVisibleItemCount">5</int>
+                                                               <bool key="NSHasVerticalScroller">YES</bool>
+                                                               <reference key="NSDelegate" ref="137843971"/>
+                                                               <object class="NSComboTableView" key="NSTableView" id="677168914">
+                                                                       <reference key="NSNextResponder"/>
+                                                                       <int key="NSvFlags">274</int>
+                                                                       <string key="NSFrameSize">{15, 0}</string>
+                                                                       <reference key="NSSuperview"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <bool key="NSEnabled">YES</bool>
+                                                                       <object class="NSMutableArray" key="NSTableColumns">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSTableColumn">
+                                                                                       <integer value="0" key="NSIdentifier" id="8"/>
+                                                                                       <double key="NSWidth">1.200000e+01</double>
+                                                                                       <double key="NSMinWidth">1.000000e+01</double>
+                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
+                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="849304139"/>
+                                                                                               <object class="NSColor" key="NSBackgroundColor">
+                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                       <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+                                                                                               </object>
+                                                                                               <reference key="NSTextColor" ref="537053071"/>
+                                                                                       </object>
+                                                                                       <object class="NSTextFieldCell" key="NSDataCell">
+                                                                                               <int key="NSCellFlags">338820672</int>
+                                                                                               <int key="NSCellFlags2">1024</int>
+                                                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                                                               <reference key="NSControlView" ref="677168914"/>
+                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                               <object class="NSColor" key="NSBackgroundColor" id="525076026">
+                                                                                                       <int key="NSColorSpace">6</int>
+                                                                                                       <string key="NSCatalogName">System</string>
+                                                                                                       <string key="NSColorName">controlBackgroundColor</string>
+                                                                                                       <reference key="NSColor" ref="961976611"/>
+                                                                                               </object>
+                                                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                                                       </object>
+                                                                                       <int key="NSResizingMask">3</int>
+                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                       <reference key="NSTableView" ref="677168914"/>
+                                                                               </object>
+                                                                       </object>
+                                                                       <double key="NSIntercellSpacingWidth">3.000000e+00</double>
+                                                                       <double key="NSIntercellSpacingHeight">2.000000e+00</double>
+                                                                       <reference key="NSBackgroundColor" ref="525076026"/>
+                                                                       <object class="NSColor" key="NSGridColor">
+                                                                               <int key="NSColorSpace">6</int>
+                                                                               <string key="NSCatalogName">System</string>
+                                                                               <string key="NSColorName">gridColor</string>
+                                                                               <object class="NSColor" key="NSColor">
+                                                                                       <int key="NSColorSpace">3</int>
+                                                                                       <bytes key="NSWhite">MC41AA</bytes>
+                                                                               </object>
+                                                                       </object>
+                                                                       <double key="NSRowHeight">1.900000e+01</double>
+                                                                       <string key="NSAction">tableViewAction:</string>
+                                                                       <int key="NSTvFlags">-767524864</int>
+                                                                       <reference key="NSDelegate" ref="625134106"/>
+                                                                       <reference key="NSDataSource" ref="625134106"/>
+                                                                       <reference key="NSTarget" ref="625134106"/>
+                                                                       <int key="NSColumnAutoresizingStyle">1</int>
+                                                                       <int key="NSDraggingSourceMaskForLocal">15</int>
+                                                                       <int key="NSDraggingSourceMaskForNonLocal">0</int>
+                                                                       <bool key="NSAllowsTypeSelect">YES</bool>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="793482582">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 79}, {88, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="657594086">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Parent</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="793482582"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{267, 276}</string>
+                                       <reference key="NSSuperview"/>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+                               <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                       </object>
+               </object>
+               <object class="IBObjectContainer" key="IBDocument.Objects">
+                       <object class="NSMutableArray" key="connectionRecords">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">newGallerySheet</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="1005"/>
+                                       </object>
+                                       <int key="connectionID">43</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">doNewGallery:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="184111456"/>
+                                       </object>
+                                       <int key="connectionID">48</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">galleryDescTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="703267117"/>
+                                       </object>
+                                       <int key="connectionID">49</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">galleryNameTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="142371246"/>
+                                       </object>
+                                       <int key="connectionID">50</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">gallerySlugTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="887381497"/>
+                                       </object>
+                                       <int key="connectionID">51</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">cancelNewGallery:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="490284298"/>
+                                       </object>
+                                       <int key="connectionID">53</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>
+                                               <object class="NSArray" key="object" id="1002">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                               </object>
+                                               <reference key="children" ref="1000"/>
+                                               <nil key="parent"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-2</int>
+                                               <reference key="object" ref="1001"/>
+                                               <reference key="parent" ref="1002"/>
+                                               <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-1</int>
+                                               <reference key="object" ref="1003"/>
+                                               <reference key="parent" ref="1002"/>
+                                               <string key="objectName">First Responder</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-3</int>
+                                               <reference key="object" ref="1004"/>
+                                               <reference key="parent" ref="1002"/>
+                                               <string key="objectName">Application</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">1</int>
+                                               <reference key="object" ref="1005"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1006"/>
+                                               </object>
+                                               <reference key="parent" ref="1002"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">2</int>
+                                               <reference key="object" ref="1006"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="142371246"/>
+                                                       <reference ref="970595672"/>
+                                                       <reference ref="768485006"/>
+                                                       <reference ref="887381497"/>
+                                                       <reference ref="703267117"/>
+                                                       <reference ref="568388187"/>
+                                                       <reference ref="137843971"/>
+                                                       <reference ref="793482582"/>
+                                                       <reference ref="64211119"/>
+                                                       <reference ref="184111456"/>
+                                               </object>
+                                               <reference key="parent" ref="1005"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">3</int>
+                                               <reference key="object" ref="142371246"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="104713052"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">4</int>
+                                               <reference key="object" ref="104713052"/>
+                                               <reference key="parent" ref="142371246"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">5</int>
+                                               <reference key="object" ref="970595672"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="303822681"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">6</int>
+                                               <reference key="object" ref="303822681"/>
+                                               <reference key="parent" ref="970595672"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">7</int>
+                                               <reference key="object" ref="768485006"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="441648904"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">8</int>
+                                               <reference key="object" ref="441648904"/>
+                                               <reference key="parent" ref="768485006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">9</int>
+                                               <reference key="object" ref="887381497"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="347914051"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">10</int>
+                                               <reference key="object" ref="347914051"/>
+                                               <reference key="parent" ref="887381497"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">11</int>
+                                               <reference key="object" ref="703267117"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="116149712"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">12</int>
+                                               <reference key="object" ref="116149712"/>
+                                               <reference key="parent" ref="703267117"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">13</int>
+                                               <reference key="object" ref="568388187"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="774003593"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">14</int>
+                                               <reference key="object" ref="774003593"/>
+                                               <reference key="parent" ref="568388187"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">15</int>
+                                               <reference key="object" ref="64211119"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="490284298"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">16</int>
+                                               <reference key="object" ref="490284298"/>
+                                               <reference key="parent" ref="64211119"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">17</int>
+                                               <reference key="object" ref="184111456"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="13003559"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">18</int>
+                                               <reference key="object" ref="13003559"/>
+                                               <reference key="parent" ref="184111456"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">19</int>
+                                               <reference key="object" ref="137843971"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="625134106"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">20</int>
+                                               <reference key="object" ref="625134106"/>
+                                               <reference key="parent" ref="137843971"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">21</int>
+                                               <reference key="object" ref="793482582"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="657594086"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">22</int>
+                                               <reference key="object" ref="657594086"/>
+                                               <reference key="parent" ref="793482582"/>
+                                       </object>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="flattenedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>-1.IBPluginDependency</string>
+                                       <string>-2.IBPluginDependency</string>
+                                       <string>-3.IBPluginDependency</string>
+                                       <string>1.IBEditorWindowLastContentRect</string>
+                                       <string>1.IBPluginDependency</string>
+                                       <string>1.IBWindowTemplateEditedContentRect</string>
+                                       <string>1.NSWindowTemplate.visibleAtLaunch</string>
+                                       <string>1.WindowOrigin</string>
+                                       <string>1.editorWindowContentRectSynchronizationRect</string>
+                                       <string>10.IBPluginDependency</string>
+                                       <string>11.IBPluginDependency</string>
+                                       <string>12.IBPluginDependency</string>
+                                       <string>13.IBPluginDependency</string>
+                                       <string>14.IBPluginDependency</string>
+                                       <string>15.IBPluginDependency</string>
+                                       <string>16.IBPluginDependency</string>
+                                       <string>17.IBPluginDependency</string>
+                                       <string>18.IBPluginDependency</string>
+                                       <string>19.IBPluginDependency</string>
+                                       <string>2.IBPluginDependency</string>
+                                       <string>20.IBPluginDependency</string>
+                                       <string>21.IBPluginDependency</string>
+                                       <string>22.IBPluginDependency</string>
+                                       <string>3.IBPluginDependency</string>
+                                       <string>4.IBPluginDependency</string>
+                                       <string>5.IBPluginDependency</string>
+                                       <string>6.IBPluginDependency</string>
+                                       <string>7.IBPluginDependency</string>
+                                       <string>8.IBPluginDependency</string>
+                                       <string>9.IBPluginDependency</string>
+                               </object>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{177, 722}, {267, 276}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{177, 722}, {267, 276}}</string>
+                                       <reference ref="8"/>
+                                       <string>{196, 240}</string>
+                                       <string>{{357, 418}, {480, 270}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="unlocalizedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="NSArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                               <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>
+                               <object class="NSArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                       </object>
+                       <nil key="sourceID"/>
+                       <int key="maxID">53</int>
+               </object>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnsel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnselGallery.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="855842895">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnselGalleryPanelController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">xmlrpc-1.5.1/XMLRPCConnection.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">TURAnselGalleryPanelController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>cancelNewGallery:</string>
+                                                       <string>doNewGallery:</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>delegate</string>
+                                                       <string>galleryDescTextField</string>
+                                                       <string>galleryNameTextField</string>
+                                                       <string>gallerySlugTextField</string>
+                                                       <string>newGallerySheet</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSPanel</string>
+                                               </object>
+                                       </object>
+                                       <reference key="sourceIdentifier" ref="855842895"/>
+                               </object>
+                       </object>
+               </object>
+               <int key="IBDocument.localizationMode">0</int>
+               <string key="IBDocument.LastKnownRelativeProjectPath">../iPhoto2Ansel.xcodeproj</string>
+               <int key="IBDocument.defaultPropertyAccessControl">3</int>
+       </data>
+</archive>
diff --git a/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib b/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib
new file mode 100644 (file)
index 0000000..b318b79
Binary files /dev/null and b/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib differ
diff --git a/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/classes.nib b/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/classes.nib
new file mode 100644 (file)
index 0000000..7e69241
--- /dev/null
@@ -0,0 +1,105 @@
+<?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>IBClasses</key>
+       <array>
+               <dict>
+                       <key>CLASS</key>
+                       <string>FirstResponder</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>SUPERCLASS</key>
+                       <string>NSObject</string>
+               </dict>
+               <dict>
+                       <key>CLASS</key>
+                       <string>NSObject</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+               </dict>
+               <dict>
+                       <key>ACTIONS</key>
+                       <dict>
+                               <key>clickCancelConnect</key>
+                               <string>id</string>
+                               <key>clickServer</key>
+                               <string>id</string>
+                               <key>clickViewGallery</key>
+                               <string>id</string>
+                               <key>closeGalleryView</key>
+                               <string>id</string>
+                               <key>closeServerList</key>
+                               <string>id</string>
+                               <key>doAddServer</key>
+                               <string>id</string>
+                               <key>doCancelAddServer</key>
+                               <string>id</string>
+                               <key>removeServer</key>
+                               <string>id</string>
+                               <key>showNewGallery</key>
+                               <string>id</string>
+                       </dict>
+                       <key>CLASS</key>
+                       <string>ApertureToAnselExportPlugin</string>
+                       <key>LANGUAGE</key>
+                       <string>ObjC</string>
+                       <key>OUTLETS</key>
+                       <dict>
+                               <key>anselController</key>
+                               <string>id</string>
+                               <key>browserView</key>
+                               <string>IKImageBrowserView</string>
+                               <key>closeGalleryView</key>
+                               <string>NSButton</string>
+                               <key>defaultImageView</key>
+                               <string>NSImageView</string>
+                               <key>firstView</key>
+                               <string>NSView</string>
+                               <key>galleryCombo</key>
+                               <string>NSComboBox</string>
+                               <key>lastView</key>
+                               <string>NSView</string>
+                               <key>mCancelConnect</key>
+                               <string>NSButton</string>
+                               <key>mImageCountLabel</key>
+                               <string>NSTextField</string>
+                               <key>mMakeNewServerDefault</key>
+                               <string>NSButton</string>
+                               <key>mNewGalleryButton</key>
+                               <string>NSButton</string>
+                               <key>mServerSheetHostURL</key>
+                               <string>NSTextField</string>
+                               <key>mServerSheetPassword</key>
+                               <string>NSSecureTextField</string>
+                               <key>mServerSheetServerNickName</key>
+                               <string>NSTextField</string>
+                               <key>mServerSheetUsername</key>
+                               <string>NSTextField</string>
+                               <key>mServersPopUp</key>
+                               <string>NSPopUpButton</string>
+                               <key>mviewGallerySheet</key>
+                               <string>NSWindow</string>
+                               <key>newServerSheet</key>
+                               <string>NSWindow</string>
+                               <key>serverListPanel</key>
+                               <string>NSPanel</string>
+                               <key>serverTable</key>
+                               <string>NSTableView</string>
+                               <key>settingsView</key>
+                               <string>NSView</string>
+                               <key>spinner</key>
+                               <string>NSProgressIndicator</string>
+                               <key>statusLabel</key>
+                               <string>NSTextField</string>
+                               <key>viewGallery</key>
+                               <string>NSButton</string>
+                       </dict>
+                       <key>SUPERCLASS</key>
+                       <string>NSObject</string>
+               </dict>
+       </array>
+       <key>IBVersion</key>
+       <string>1</string>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/info.nib b/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/info.nib
new file mode 100644 (file)
index 0000000..e2ca72e
--- /dev/null
@@ -0,0 +1,20 @@
+<?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>IBFramework Version</key>
+       <string>672</string>
+       <key>IBLastKnownRelativeProjectPath</key>
+       <string>../ApertureToAnselExportPlugin.xcodeproj</string>
+       <key>IBOldestOS</key>
+       <integer>5</integer>
+       <key>IBOpenObjects</key>
+       <array>
+               <integer>63</integer>
+       </array>
+       <key>IBSystem Version</key>
+       <string>9L30</string>
+       <key>targetFramework</key>
+       <string>IBCocoaFramework</string>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/keyedobjects.nib b/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/keyedobjects.nib
new file mode 100644 (file)
index 0000000..16c7596
Binary files /dev/null and b/ApertureToAnselExportPlugin/English.lproj/ApertureToAnselExportPlugin.nib/keyedobjects.nib differ
diff --git a/ApertureToAnselExportPlugin/English.lproj/InfoPlist.strings b/ApertureToAnselExportPlugin/English.lproj/InfoPlist.strings
new file mode 100644 (file)
index 0000000..1d61a2f
Binary files /dev/null and b/ApertureToAnselExportPlugin/English.lproj/InfoPlist.strings differ
diff --git a/ApertureToAnselExportPlugin/English.lproj/Localizable.strings b/ApertureToAnselExportPlugin/English.lproj/Localizable.strings
new file mode 100644 (file)
index 0000000..842d7f4
Binary files /dev/null and b/ApertureToAnselExportPlugin/English.lproj/Localizable.strings differ
diff --git a/ApertureToAnselExportPlugin/English.lproj/Panel.nib/designable.nib b/ApertureToAnselExportPlugin/English.lproj/Panel.nib/designable.nib
new file mode 100644 (file)
index 0000000..51473bc
--- /dev/null
@@ -0,0 +1,2848 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
+       <data>
+               <int key="IBDocument.SystemTarget">1050</int>
+               <string key="IBDocument.SystemVersion">9J61</string>
+               <string key="IBDocument.InterfaceBuilderVersion">672</string>
+               <string key="IBDocument.AppKitVersion">949.46</string>
+               <string key="IBDocument.HIToolboxVersion">353.00</string>
+               <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <integer value="137"/>
+                       <integer value="577"/>
+               </object>
+               <object class="NSArray" key="IBDocument.PluginDependencies">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <string>com.apple.imagekit.ibplugin</string>
+                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+               </object>
+               <object class="NSMutableArray" key="IBDocument.RootObjects" id="192295378">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <object class="NSCustomObject" id="685567789">
+                               <string key="NSClassName">AnselExportController</string>
+                       </object>
+                       <object class="NSCustomObject" id="357158831">
+                               <string key="NSClassName">FirstResponder</string>
+                       </object>
+                       <object class="NSCustomObject" id="377299838">
+                               <string key="NSClassName">NSApplication</string>
+                       </object>
+                       <object class="NSWindowTemplate" id="920958882">
+                               <int key="NSWindowStyleMask">23</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{196, 315}, {455, 195}}</string>
+                               <int key="NSWTFlags">-1543503872</int>
+                               <string key="NSWindowTitle">Add Server</string>
+                               <string key="NSWindowClass">NSPanel</string>
+                               <nil key="NSViewClass"/>
+                               <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                               <object class="NSView" key="NSWindowView" id="345710193">
+                                       <nil key="NSNextResponder"/>
+                                       <int key="NSvFlags">256</int>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSTextField" id="143194876">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{124, 124}, {311, 22}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="954322263">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <object class="NSFont" key="NSSupport" id="1065031457">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.300000e+01</double>
+                                                                       <int key="NSfFlags">1044</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="143194876"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="453091517">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textBackgroundColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="287527735">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="317661039">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="651434981">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MAA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="816852072">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 126}, {102, 17}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="748421632">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Path to rpc.php</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="816852072"/>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="258809705">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="235392093">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="428586510">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlTextColor</string>
+                                                                       <reference key="NSColor" ref="651434981"/>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="943485916">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{124, 92}, {311, 22}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="332374721">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="943485916"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                               <reference key="NSTextColor" ref="317661039"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSSecureTextField" id="407883474">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{124, 60}, {311, 22}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSSecureTextFieldCell" key="NSCell" id="321721582">
+                                                               <int key="NSCellFlags">343014976</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="407883474"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                               <reference key="NSTextColor" ref="317661039"/>
+                                                               <object class="NSArray" key="NSAllowedInputLocales">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <string>NSAllRomanInputSourcesLocaleIdentifier</string>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="545362646">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 94}, {67, 17}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="726913580">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Username</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="545362646"/>
+                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="377949113">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 62}, {67, 17}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="1043094791">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Password</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="377949113"/>
+                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="17412812">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 158}, {102, 17}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="1034567103">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Nickname</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="17412812"/>
+                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="536650280">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{124, 156}, {311, 22}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="611300750">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="536650280"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                               <reference key="NSTextColor" ref="317661039"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="931753347">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{345, 12}, {96, 32}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="192200439">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Save</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="931753347"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="470501331">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{244, 12}, {96, 32}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="306533473">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Cancel</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="470501331"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="381272541">
+                                                       <reference key="NSNextResponder" ref="345710193"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{18, 18}, {145, 18}}</string>
+                                                       <reference key="NSSuperview" ref="345710193"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="754494626">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">0</int>
+                                                               <string key="NSContents">Make Default</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="381272541"/>
+                                                               <int key="NSButtonFlags">1211912703</int>
+                                                               <int key="NSButtonFlags2">130</int>
+                                                               <object class="NSCustomResource" key="NSNormalImage">
+                                                                       <string key="NSClassName">NSImage</string>
+                                                                       <string key="NSResourceName">NSSwitch</string>
+                                                               </object>
+                                                               <object class="NSButtonImageSource" key="NSAlternateImage">
+                                                                       <string key="NSImageName">NSSwitch</string>
+                                                               </object>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{455, 195}</string>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+                               <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                       </object>
+                       <object class="NSWindowTemplate" id="114974401">
+                               <int key="NSWindowStyleMask">23</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{196, 152}, {679, 358}}</string>
+                               <int key="NSWTFlags">-1543503872</int>
+                               <string key="NSWindowTitle">Servers</string>
+                               <string key="NSWindowClass">NSPanel</string>
+                               <nil key="NSViewClass"/>
+                               <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                               <object class="NSView" key="NSWindowView" id="1015540943">
+                                       <nil key="NSNextResponder"/>
+                                       <int key="NSvFlags">256</int>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSButton" id="173168675">
+                                                       <reference key="NSNextResponder" ref="1015540943"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{568, 28}, {96, 28}}</string>
+                                                       <reference key="NSSuperview" ref="1015540943"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="1051407572">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134348800</int>
+                                                               <string key="NSContents">Done</string>
+                                                               <object class="NSFont" key="NSSupport" id="26">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.100000e+01</double>
+                                                                       <int key="NSfFlags">3100</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="173168675"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSScrollView" id="190463150">
+                                                       <reference key="NSNextResponder" ref="1015540943"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSClipView" id="1028887197">
+                                                                       <reference key="NSNextResponder" ref="190463150"/>
+                                                                       <int key="NSvFlags">2304</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSTableView" id="122283779">
+                                                                                       <reference key="NSNextResponder" ref="1028887197"/>
+                                                                                       <int key="NSvFlags">256</int>
+                                                                                       <string key="NSFrameSize">{626, 247}</string>
+                                                                                       <reference key="NSSuperview" ref="1028887197"/>
+                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                       <object class="NSTableHeaderView" key="NSHeaderView" id="583871843">
+                                                                                               <reference key="NSNextResponder" ref="490935428"/>
+                                                                                               <int key="NSvFlags">256</int>
+                                                                                               <string key="NSFrameSize">{626, 17}</string>
+                                                                                               <reference key="NSSuperview" ref="490935428"/>
+                                                                                               <reference key="NSTableView" ref="122283779"/>
+                                                                                       </object>
+                                                                                       <object class="_NSCornerView" key="NSCornerView" id="814300438">
+                                                                                               <reference key="NSNextResponder" ref="190463150"/>
+                                                                                               <int key="NSvFlags">256</int>
+                                                                                               <string key="NSFrame">{{627, 0}, {16, 17}}</string>
+                                                                                               <reference key="NSSuperview" ref="190463150"/>
+                                                                                       </object>
+                                                                                       <object class="NSMutableArray" key="NSTableColumns">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="NSTableColumn" id="935876783">
+                                                                                                       <string key="NSIdentifier">nickname</string>
+                                                                                                       <double key="NSWidth">1.010000e+02</double>
+                                                                                                       <double key="NSMinWidth">4.000000e+01</double>
+                                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
+                                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                                               <string key="NSContents">Server Name</string>
+                                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                                               <object class="NSColor" key="NSBackgroundColor" id="710729185">
+                                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                                       <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+                                                                                                               </object>
+                                                                                                               <object class="NSColor" key="NSTextColor" id="230673082">
+                                                                                                                       <int key="NSColorSpace">6</int>
+                                                                                                                       <string key="NSCatalogName">System</string>
+                                                                                                                       <string key="NSColorName">headerTextColor</string>
+                                                                                                                       <reference key="NSColor" ref="651434981"/>
+                                                                                                               </object>
+                                                                                                       </object>
+                                                                                                       <object class="NSTextFieldCell" key="NSDataCell" id="232409811">
+                                                                                                               <int key="NSCellFlags">337772096</int>
+                                                                                                               <int key="NSCellFlags2">2048</int>
+                                                                                                               <string key="NSContents">Text Cell</string>
+                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                               <reference key="NSControlView" ref="122283779"/>
+                                                                                                               <object class="NSColor" key="NSBackgroundColor" id="508011134">
+                                                                                                                       <int key="NSColorSpace">6</int>
+                                                                                                                       <string key="NSCatalogName">System</string>
+                                                                                                                       <string key="NSColorName">controlBackgroundColor</string>
+                                                                                                                       <reference key="NSColor" ref="235392093"/>
+                                                                                                               </object>
+                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                       </object>
+                                                                                                       <int key="NSResizingMask">3</int>
+                                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                                       <bool key="NSIsEditable">YES</bool>
+                                                                                                       <reference key="NSTableView" ref="122283779"/>
+                                                                                               </object>
+                                                                                               <object class="NSTableColumn" id="698453740">
+                                                                                                       <string key="NSIdentifier">username</string>
+                                                                                                       <double key="NSWidth">1.410000e+02</double>
+                                                                                                       <double key="NSMinWidth">4.000000e+01</double>
+                                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
+                                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                                               <string key="NSContents">Login Name</string>
+                                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                                               <reference key="NSBackgroundColor" ref="710729185"/>
+                                                                                                               <reference key="NSTextColor" ref="230673082"/>
+                                                                                                       </object>
+                                                                                                       <object class="NSTextFieldCell" key="NSDataCell" id="110708844">
+                                                                                                               <int key="NSCellFlags">337772096</int>
+                                                                                                               <int key="NSCellFlags2">2048</int>
+                                                                                                               <string key="NSContents">Text Cell</string>
+                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                               <reference key="NSControlView" ref="122283779"/>
+                                                                                                               <reference key="NSBackgroundColor" ref="508011134"/>
+                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                       </object>
+                                                                                                       <int key="NSResizingMask">3</int>
+                                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                                       <bool key="NSIsEditable">YES</bool>
+                                                                                                       <reference key="NSTableView" ref="122283779"/>
+                                                                                               </object>
+                                                                                               <object class="NSTableColumn" id="36379594">
+                                                                                                       <string key="NSIdentifier">endpoint</string>
+                                                                                                       <double key="NSWidth">3.750000e+02</double>
+                                                                                                       <double key="NSMinWidth">1.000000e+01</double>
+                                                                                                       <double key="NSMaxWidth">3.402823e+38</double>
+                                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                                               <string key="NSContents">URL</string>
+                                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                                               <object class="NSColor" key="NSBackgroundColor">
+                                                                                                                       <int key="NSColorSpace">6</int>
+                                                                                                                       <string key="NSCatalogName">System</string>
+                                                                                                                       <string key="NSColorName">headerColor</string>
+                                                                                                                       <reference key="NSColor" ref="287527735"/>
+                                                                                                               </object>
+                                                                                                               <reference key="NSTextColor" ref="230673082"/>
+                                                                                                       </object>
+                                                                                                       <object class="NSTextFieldCell" key="NSDataCell" id="631200346">
+                                                                                                               <int key="NSCellFlags">337772096</int>
+                                                                                                               <int key="NSCellFlags2">2048</int>
+                                                                                                               <string key="NSContents">Text Cell</string>
+                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                               <reference key="NSControlView" ref="122283779"/>
+                                                                                                               <reference key="NSBackgroundColor" ref="508011134"/>
+                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                       </object>
+                                                                                                       <int key="NSResizingMask">3</int>
+                                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                                       <bool key="NSIsEditable">YES</bool>
+                                                                                                       <reference key="NSTableView" ref="122283779"/>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <double key="NSIntercellSpacingWidth">3.000000e+00</double>
+                                                                                       <double key="NSIntercellSpacingHeight">2.000000e+00</double>
+                                                                                       <reference key="NSBackgroundColor" ref="287527735"/>
+                                                                                       <object class="NSColor" key="NSGridColor" id="128663657">
+                                                                                               <int key="NSColorSpace">6</int>
+                                                                                               <string key="NSCatalogName">System</string>
+                                                                                               <string key="NSColorName">gridColor</string>
+                                                                                               <object class="NSColor" key="NSColor">
+                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                       <bytes key="NSWhite">MC41AA</bytes>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <double key="NSRowHeight">1.700000e+01</double>
+                                                                                       <int key="NSTvFlags">-700448768</int>
+                                                                                       <int key="NSColumnAutoresizingStyle">4</int>
+                                                                                       <int key="NSDraggingSourceMaskForLocal">15</int>
+                                                                                       <int key="NSDraggingSourceMaskForNonLocal">0</int>
+                                                                                       <bool key="NSAllowsTypeSelect">YES</bool>
+                                                                               </object>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{1, 17}, {626, 247}}</string>
+                                                                       <reference key="NSSuperview" ref="190463150"/>
+                                                                       <reference key="NSNextKeyView" ref="122283779"/>
+                                                                       <reference key="NSDocView" ref="122283779"/>
+                                                                       <reference key="NSBGColor" ref="508011134"/>
+                                                                       <int key="NScvFlags">4</int>
+                                                               </object>
+                                                               <object class="NSScroller" id="99836435">
+                                                                       <reference key="NSNextResponder" ref="190463150"/>
+                                                                       <int key="NSvFlags">256</int>
+                                                                       <string key="NSFrame">{{627, 17}, {15, 247}}</string>
+                                                                       <reference key="NSSuperview" ref="190463150"/>
+                                                                       <reference key="NSTarget" ref="190463150"/>
+                                                                       <string key="NSAction">_doScroller:</string>
+                                                                       <double key="NSCurValue">1.000000e+00</double>
+                                                                       <double key="NSPercent">1.947368e-01</double>
+                                                               </object>
+                                                               <object class="NSScroller" id="434957656">
+                                                                       <reference key="NSNextResponder" ref="190463150"/>
+                                                                       <int key="NSvFlags">256</int>
+                                                                       <string key="NSFrame">{{1, 264}, {626, 15}}</string>
+                                                                       <reference key="NSSuperview" ref="190463150"/>
+                                                                       <int key="NSsFlags">1</int>
+                                                                       <reference key="NSTarget" ref="190463150"/>
+                                                                       <string key="NSAction">_doScroller:</string>
+                                                                       <double key="NSPercent">9.984051e-01</double>
+                                                               </object>
+                                                               <object class="NSClipView" id="490935428">
+                                                                       <reference key="NSNextResponder" ref="190463150"/>
+                                                                       <int key="NSvFlags">2304</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <reference ref="583871843"/>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{1, 0}, {626, 17}}</string>
+                                                                       <reference key="NSSuperview" ref="190463150"/>
+                                                                       <reference key="NSNextKeyView" ref="583871843"/>
+                                                                       <reference key="NSDocView" ref="583871843"/>
+                                                                       <reference key="NSBGColor" ref="508011134"/>
+                                                                       <int key="NScvFlags">4</int>
+                                                               </object>
+                                                               <reference ref="814300438"/>
+                                                       </object>
+                                                       <string key="NSFrame">{{20, 60}, {643, 280}}</string>
+                                                       <reference key="NSSuperview" ref="1015540943"/>
+                                                       <reference key="NSNextKeyView" ref="1028887197"/>
+                                                       <int key="NSsFlags">50</int>
+                                                       <reference key="NSVScroller" ref="99836435"/>
+                                                       <reference key="NSHScroller" ref="434957656"/>
+                                                       <reference key="NSContentView" ref="1028887197"/>
+                                                       <reference key="NSHeaderClipView" ref="490935428"/>
+                                                       <reference key="NSCornerView" ref="814300438"/>
+                                                       <bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
+                                               </object>
+                                               <object class="NSButton" id="887276643">
+                                                       <reference key="NSNextResponder" ref="1015540943"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{15, 28}, {96, 28}}</string>
+                                                       <reference key="NSSuperview" ref="1015540943"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="857791556">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134348800</int>
+                                                               <string key="NSContents">Remove</string>
+                                                               <reference key="NSSupport" ref="26"/>
+                                                               <reference key="NSControlView" ref="887276643"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="261477617">
+                                                       <reference key="NSNextResponder" ref="1015540943"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{109, 28}, {123, 28}}</string>
+                                                       <reference key="NSSuperview" ref="1015540943"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="574730139">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134348800</int>
+                                                               <string key="NSContents">Make Default</string>
+                                                               <reference key="NSSupport" ref="26"/>
+                                                               <reference key="NSControlView" ref="261477617"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{679, 358}</string>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+                               <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                       </object>
+                       <object class="NSWindowTemplate" id="240545061">
+                               <int key="NSWindowStyleMask">23</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{196, 183}, {480, 327}}</string>
+                               <int key="NSWTFlags">-1543503872</int>
+                               <string key="NSWindowTitle">Window</string>
+                               <string key="NSWindowClass">NSPanel</string>
+                               <nil key="NSViewClass"/>
+                               <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                               <object class="NSView" key="NSWindowView" id="573233790">
+                                       <reference key="NSNextResponder"/>
+                                       <int key="NSvFlags">256</int>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSButton" id="300259137">
+                                                       <reference key="NSNextResponder" ref="573233790"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{370, 12}, {96, 32}}</string>
+                                                       <reference key="NSSuperview" ref="573233790"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="569706565">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Close</string>
+                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                               <reference key="NSControlView" ref="300259137"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSScrollView" id="445821140">
+                                                       <reference key="NSNextResponder" ref="573233790"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSClipView" id="896759949">
+                                                                       <reference key="NSNextResponder" ref="445821140"/>
+                                                                       <int key="NSvFlags">2304</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="IKImageBrowserView" id="798730592">
+                                                                                       <reference key="NSNextResponder" ref="896759949"/>
+                                                                                       <int key="NSvFlags">18</int>
+                                                                                       <object class="NSMutableSet" key="NSDragTypes">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="NSMutableArray" key="set.sortedObjects">
+                                                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                       <string>Apple PDF pasteboard type</string>
+                                                                                                       <string>Apple PICT pasteboard type</string>
+                                                                                                       <string>Apple PNG pasteboard type</string>
+                                                                                                       <string>Apple URL pasteboard type</string>
+                                                                                                       <string>NSFilenamesPboardType</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6Jy5TR0knA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6JzhCUFMnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0JNUGYnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0VQU0YnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0ZQaXgnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0dJRmYnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0lDTyAnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J0pQRUcnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1BERiAnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1BJQ1QnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1BOR2YnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1BOVEcnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1RJRkYnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J1RQSUMnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J2pwMiAnA</string>
+                                                                                                       <string type="base64-UTF8">TlNUeXBlZEZpbGVuYW1lc1Bib2FyZFR5cGU6J3F0aWYnA</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:BMP</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:CR2</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:CRW</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:CUR</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:DCR</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:DNG</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:EPI</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:EPS</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:EPSF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:EPSI</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:EXR</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:FAX</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:FPIX</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:FPX</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:GIF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:HDR</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:ICNS</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:ICO</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:JP2</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:JPEG</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:JPG</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:MAC</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:MRW</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:NEF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:ORF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PCT</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PDF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PIC</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PICT</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PNG</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PNT</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PNTG</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PS</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:PSD</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:QTI</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:QTIF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:RAF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:RGB</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:SGI</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:SRF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:TARGA</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:TGA</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:TIF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:TIFF</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:XBM</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:bmp</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:cr2</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:crw</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:cur</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:dcr</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:dng</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:epi</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:eps</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:epsf</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:epsi</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:exr</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:fax</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:fpix</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:fpx</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:gif</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:hdr</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:icns</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:ico</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:jp2</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:jpeg</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:jpg</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:mac</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:mrw</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:nef</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:orf</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pct</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pdf</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pic</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pict</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:png</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pnt</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:pntg</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:ps</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:psd</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:qti</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:qtif</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:raf</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:rgb</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:sgi</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:srf</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:targa</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:tga</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:tif</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:tiff</string>
+                                                                                                       <string>NSTypedFilenamesPboardType:xbm</string>
+                                                                                                       <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+                                                                                                       <string>NeXT TIFF v4.0 pasteboard type</string>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <string key="NSFrameSize">{423, 251}</string>
+                                                                                       <reference key="NSSuperview" ref="896759949"/>
+                                                                                       <bool key="constrainsToOriginalSize">NO</bool>
+                                                                                       <bool key="cellsHaveSubtitle">YES</bool>
+                                                                                       <bool key="cellsHaveTitle">YES</bool>
+                                                                                       <bool key="outlinesCells">YES</bool>
+                                                                                       <bool key="shadowsCells">YES</bool>
+                                                                                       <bool key="animates">NO</bool>
+                                                                                       <bool key="allowsReordering">NO</bool>
+                                                                                       <float key="cellWidth">1.000000e+02</float>
+                                                                                       <float key="cellHeight">1.000000e+02</float>
+                                                                                       <reference key="dataSource"/>
+                                                                                       <reference key="dragDestinationDelegate"/>
+                                                                               </object>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{1, 1}, {423, 251}}</string>
+                                                                       <reference key="NSSuperview" ref="445821140"/>
+                                                                       <reference key="NSNextKeyView" ref="798730592"/>
+                                                                       <reference key="NSDocView" ref="798730592"/>
+                                                                       <reference key="NSBGColor" ref="258809705"/>
+                                                                       <int key="NScvFlags">6</int>
+                                                               </object>
+                                                               <object class="NSScroller" id="34214668">
+                                                                       <reference key="NSNextResponder" ref="445821140"/>
+                                                                       <int key="NSvFlags">256</int>
+                                                                       <string key="NSFrame">{{424, 1}, {15, 251}}</string>
+                                                                       <reference key="NSSuperview" ref="445821140"/>
+                                                                       <reference key="NSTarget" ref="445821140"/>
+                                                                       <string key="NSAction">_doScroller:</string>
+                                                                       <double key="NSCurValue">1.000000e+00</double>
+                                                                       <double key="NSPercent">9.636363e-01</double>
+                                                               </object>
+                                                               <object class="NSScroller" id="355872151">
+                                                                       <reference key="NSNextResponder" ref="445821140"/>
+                                                                       <int key="NSvFlags">256</int>
+                                                                       <string key="NSFrame">{{1, 252}, {423, 15}}</string>
+                                                                       <reference key="NSSuperview" ref="445821140"/>
+                                                                       <int key="NSsFlags">1</int>
+                                                                       <reference key="NSTarget" ref="445821140"/>
+                                                                       <string key="NSAction">_doScroller:</string>
+                                                                       <double key="NSPercent">5.060241e-01</double>
+                                                               </object>
+                                                       </object>
+                                                       <string key="NSFrame">{{20, 60}, {440, 268}}</string>
+                                                       <reference key="NSSuperview" ref="573233790"/>
+                                                       <reference key="NSNextKeyView" ref="896759949"/>
+                                                       <int key="NSsFlags">50</int>
+                                                       <reference key="NSVScroller" ref="34214668"/>
+                                                       <reference key="NSHScroller" ref="355872151"/>
+                                                       <reference key="NSContentView" ref="896759949"/>
+                                                       <bytes key="NSScrollAmts">QSAAAEEgAABCzQAAQvAAAA</bytes>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{480, 327}</string>
+                                       <reference key="NSSuperview"/>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+                               <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                       </object>
+                       <object class="NSWindowTemplate" id="68821434">
+                               <int key="NSWindowStyleMask">15</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{220, 358}, {548, 406}}</string>
+                               <int key="NSWTFlags">1886912512</int>
+                               <object class="NSMutableString" key="NSWindowTitle">
+                                       <characters key="NS.bytes">Window</characters>
+                               </object>
+                               <string key="NSWindowClass">NSWindow</string>
+                               <object class="NSMutableString" key="NSViewClass">
+                                       <characters key="NS.bytes">View</characters>
+                               </object>
+                               <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                               <string key="NSWindowContentMinSize">{213, 107}</string>
+                               <object class="NSView" key="NSWindowView" id="442259745">
+                                       <reference key="NSNextResponder"/>
+                                       <int key="NSvFlags">256</int>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSBox" id="109597301">
+                                                       <reference key="NSNextResponder" ref="442259745"/>
+                                                       <int key="NSvFlags">256</int>
+                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <object class="NSView" id="914781838">
+                                                                       <reference key="NSNextResponder" ref="109597301"/>
+                                                                       <int key="NSvFlags">256</int>
+                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSBox" id="387030229">
+                                                                                       <reference key="NSNextResponder" ref="914781838"/>
+                                                                                       <int key="NSvFlags">268</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="NSView" id="917722533">
+                                                                                                       <reference key="NSNextResponder" ref="387030229"/>
+                                                                                                       <int key="NSvFlags">256</int>
+                                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                               <object class="NSTextField" id="681115975">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{15, 71}, {81, 17}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="323509275">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Server</string>
+                                                                                                                               <object class="NSFont" key="NSSupport" id="471144877">
+                                                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                                                       <double key="NSSize">1.200000e+01</double>
+                                                                                                                                       <int key="NSfFlags">16</int>
+                                                                                                                               </object>
+                                                                                                                               <reference key="NSControlView" ref="681115975"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSPopUpButton" id="447167783">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{76, 66}, {382, 26}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSPopUpButtonCell" key="NSCell" id="979637046">
+                                                                                                                               <int key="NSCellFlags">-2076049856</int>
+                                                                                                                               <int key="NSCellFlags2">2048</int>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSControlView" ref="447167783"/>
+                                                                                                                               <int key="NSButtonFlags">109199615</int>
+                                                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                                                               <string key="NSAlternateContents"/>
+                                                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                                                               <int key="NSPeriodicDelay">400</int>
+                                                                                                                               <int key="NSPeriodicInterval">75</int>
+                                                                                                                               <object class="NSMenuItem" key="NSMenuItem" id="585870225">
+                                                                                                                                       <reference key="NSMenu" ref="271704379"/>
+                                                                                                                                       <string key="NSTitle">(None)</string>
+                                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                                       <int key="NSState">1</int>
+                                                                                                                                       <object class="NSCustomResource" key="NSOnImage" id="441143142">
+                                                                                                                                               <string key="NSClassName">NSImage</string>
+                                                                                                                                               <string key="NSResourceName">NSMenuCheckmark</string>
+                                                                                                                                       </object>
+                                                                                                                                       <object class="NSCustomResource" key="NSMixedImage" id="1052235771">
+                                                                                                                                               <string key="NSClassName">NSImage</string>
+                                                                                                                                               <string key="NSResourceName">NSMenuMixedState</string>
+                                                                                                                                       </object>
+                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                                       <reference key="NSTarget" ref="979637046"/>
+                                                                                                                               </object>
+                                                                                                                               <bool key="NSMenuItemRespectAlignment">YES</bool>
+                                                                                                                               <object class="NSMenu" key="NSMenu" id="271704379">
+                                                                                                                                       <string key="NSTitle">OtherViews</string>
+                                                                                                                                       <object class="NSMutableArray" key="NSMenuItems">
+                                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                                                               <reference ref="585870225"/>
+                                                                                                                                       </object>
+                                                                                                                               </object>
+                                                                                                                               <int key="NSPreferredEdge">1</int>
+                                                                                                                               <bool key="NSUsesItemFromMenu">YES</bool>
+                                                                                                                               <bool key="NSAltersState">YES</bool>
+                                                                                                                               <int key="NSArrowPosition">2</int>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="706605497">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{77, 33}, {117, 17}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="945436340">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272761856</int>
+                                                                                                                               <string key="NSContents">Not Logged In</string>
+                                                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                                                               <reference key="NSControlView" ref="706605497"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSProgressIndicator" id="758028067">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">1292</int>
+                                                                                                                       <object class="NSPSMatrix" key="NSDrawMatrix"/>
+                                                                                                                       <string key="NSFrame">{{439, 33}, {16, 16}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <int key="NSpiFlags">28938</int>
+                                                                                                                       <double key="NSMinValue">1.600000e+01</double>
+                                                                                                                       <double key="NSMaxValue">1.000000e+02</double>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="800292040">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{15, 37}, {43, 16}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="1013776364">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Status</string>
+                                                                                                                               <reference key="NSSupport" ref="471144877"/>
+                                                                                                                               <reference key="NSControlView" ref="800292040"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSButton" id="739969881">
+                                                                                                                       <reference key="NSNextResponder" ref="917722533"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{367, 32}, {65, 16}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="917722533"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSButtonCell" key="NSCell" id="1009076064">
+                                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                                                               <string key="NSContents">Cancel</string>
+                                                                                                                               <object class="NSFont" key="NSSupport" id="22">
+                                                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                                                       <double key="NSSize">9.000000e+00</double>
+                                                                                                                                       <int key="NSfFlags">3614</int>
+                                                                                                                               </object>
+                                                                                                                               <reference key="NSControlView" ref="739969881"/>
+                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                                                               <string key="NSAlternateContents"/>
+                                                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                       </object>
+                                                                                                       <string key="NSFrame">{{1, 1}, {480, 94}}</string>
+                                                                                                       <reference key="NSSuperview" ref="387030229"/>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{7, 253}, {482, 110}}</string>
+                                                                                       <reference key="NSSuperview" ref="914781838"/>
+                                                                                       <string key="NSOffsets">{0, 0}</string>
+                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                               <string key="NSContents">Connection</string>
+                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                                                               <object class="NSColor" key="NSTextColor">
+                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <reference key="NSContentView" ref="917722533"/>
+                                                                                       <int key="NSBorderType">1</int>
+                                                                                       <int key="NSBoxType">0</int>
+                                                                                       <int key="NSTitlePosition">2</int>
+                                                                                       <bool key="NSTransparent">NO</bool>
+                                                                               </object>
+                                                                               <object class="NSBox" id="664773226">
+                                                                                       <reference key="NSNextResponder" ref="914781838"/>
+                                                                                       <int key="NSvFlags">268</int>
+                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="NSView" id="675618554">
+                                                                                                       <reference key="NSNextResponder" ref="664773226"/>
+                                                                                                       <int key="NSvFlags">256</int>
+                                                                                                       <object class="NSMutableArray" key="NSSubviews">
+                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                               <object class="NSButton" id="60291071">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{135, 165}, {92, 32}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSButtonCell" key="NSCell" id="843634421">
+                                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                                               <int key="NSCellFlags2">134479872</int>
+                                                                                                                               <string key="NSContents">Create New</string>
+                                                                                                                               <reference key="NSSupport" ref="22"/>
+                                                                                                                               <reference key="NSControlView" ref="60291071"/>
+                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                                                               <object class="NSFont" key="NSAlternateImage">
+                                                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                                                       <double key="NSSize">9.000000e+00</double>
+                                                                                                                                       <int key="NSfFlags">16</int>
+                                                                                                                               </object>
+                                                                                                                               <string key="NSAlternateContents"/>
+                                                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSComboBox" id="553805234">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{18, 143}, {211, 26}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSComboBoxCell" key="NSCell" id="487568130">
+                                                                                                                               <int key="NSCellFlags">611450433</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents"/>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSControlView" ref="553805234"/>
+                                                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                               <int key="NSVisibleItemCount">5</int>
+                                                                                                                               <bool key="NSHasVerticalScroller">YES</bool>
+                                                                                                                               <bool key="NSUsesDataSource">YES</bool>
+                                                                                                                               <bool key="NSCompletes">YES</bool>
+                                                                                                                               <nil key="NSDataSource"/>
+                                                                                                                               <reference key="NSDelegate" ref="553805234"/>
+                                                                                                                               <object class="NSComboTableView" key="NSTableView" id="562062983">
+                                                                                                                                       <reference key="NSNextResponder"/>
+                                                                                                                                       <int key="NSvFlags">274</int>
+                                                                                                                                       <string key="NSFrameSize">{15, 0}</string>
+                                                                                                                                       <reference key="NSSuperview"/>
+                                                                                                                                       <reference key="NSWindow"/>
+                                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                                       <object class="NSMutableArray" key="NSTableColumns">
+                                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                                                               <object class="NSTableColumn">
+                                                                                                                                                       <integer value="0" key="NSIdentifier" id="8"/>
+                                                                                                                                                       <double key="NSWidth">1.200000e+01</double>
+                                                                                                                                                       <double key="NSMinWidth">1.000000e+01</double>
+                                                                                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
+                                                                                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                                                                                               <string key="NSContents"/>
+                                                                                                                                                               <reference key="NSSupport" ref="471144877"/>
+                                                                                                                                                               <object class="NSColor" key="NSBackgroundColor">
+                                                                                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                                                                                       <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+                                                                                                                                                               </object>
+                                                                                                                                                               <reference key="NSTextColor" ref="287527735"/>
+                                                                                                                                                       </object>
+                                                                                                                                                       <object class="NSTextFieldCell" key="NSDataCell">
+                                                                                                                                                               <int key="NSCellFlags">338820672</int>
+                                                                                                                                                               <int key="NSCellFlags2">1024</int>
+                                                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                                                               <reference key="NSControlView" ref="562062983"/>
+                                                                                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                                                                                               <reference key="NSBackgroundColor" ref="508011134"/>
+                                                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                                                       </object>
+                                                                                                                                                       <int key="NSResizingMask">3</int>
+                                                                                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                                                                                       <reference key="NSTableView" ref="562062983"/>
+                                                                                                                                               </object>
+                                                                                                                                       </object>
+                                                                                                                                       <double key="NSIntercellSpacingWidth">3.000000e+00</double>
+                                                                                                                                       <double key="NSIntercellSpacingHeight">2.000000e+00</double>
+                                                                                                                                       <reference key="NSBackgroundColor" ref="508011134"/>
+                                                                                                                                       <reference key="NSGridColor" ref="128663657"/>
+                                                                                                                                       <double key="NSRowHeight">1.900000e+01</double>
+                                                                                                                                       <string key="NSAction">tableViewAction:</string>
+                                                                                                                                       <int key="NSTvFlags">-767524864</int>
+                                                                                                                                       <reference key="NSDelegate" ref="487568130"/>
+                                                                                                                                       <reference key="NSTarget" ref="487568130"/>
+                                                                                                                                       <int key="NSColumnAutoresizingStyle">1</int>
+                                                                                                                                       <int key="NSDraggingSourceMaskForLocal">15</int>
+                                                                                                                                       <int key="NSDraggingSourceMaskForNonLocal">0</int>
+                                                                                                                                       <bool key="NSAllowsTypeSelect">YES</bool>
+                                                                                                                               </object>
+                                                                                                                       </object>
+                                                                                                                       <nil key="NSDataSource"/>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="530084779">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{15, 173}, {103, 16}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="49643720">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Gallery</string>
+                                                                                                                               <reference key="NSSupport" ref="471144877"/>
+                                                                                                                               <reference key="NSControlView" ref="530084779"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSImageView" id="943334524">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <object class="NSMutableSet" key="NSDragTypes">
+                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                                               <object class="NSMutableArray" key="set.sortedObjects">
+                                                                                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                                                       <string>Apple PDF pasteboard type</string>
+                                                                                                                                       <string>Apple PICT pasteboard type</string>
+                                                                                                                                       <string>Apple PNG pasteboard type</string>
+                                                                                                                                       <string>NSFilenamesPboardType</string>
+                                                                                                                                       <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+                                                                                                                                       <string>NeXT TIFF v4.0 pasteboard type</string>
+                                                                                                                               </object>
+                                                                                                                       </object>
+                                                                                                                       <string key="NSFrame">{{258, 59}, {214, 118}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSImageCell" key="NSCell" id="624236720">
+                                                                                                                               <int key="NSCellFlags">130560</int>
+                                                                                                                               <int key="NSCellFlags2">33554432</int>
+                                                                                                                               <int key="NSAlign">0</int>
+                                                                                                                               <int key="NSScale">0</int>
+                                                                                                                               <int key="NSStyle">0</int>
+                                                                                                                               <bool key="NSAnimates">YES</bool>
+                                                                                                                       </object>
+                                                                                                                       <bool key="NSEditable">YES</bool>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="950269879">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{258, 175}, {158, 16}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="87551637">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Gallery Default Image</string>
+                                                                                                                               <reference key="NSSupport" ref="471144877"/>
+                                                                                                                               <reference key="NSControlView" ref="950269879"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="597164431">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">256</int>
+                                                                                                                       <string key="NSFrame">{{15, 121}, {114, 17}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="457524196">
+                                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                                               <int key="NSCellFlags2">272629760</int>
+                                                                                                                               <string key="NSContents">Image Size: </string>
+                                                                                                                               <reference key="NSSupport" ref="471144877"/>
+                                                                                                                               <reference key="NSControlView" ref="597164431"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSPopUpButton" id="371122794">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">256</int>
+                                                                                                                       <string key="NSFrame">{{15, 93}, {130, 26}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSPopUpButtonCell" key="NSCell" id="710721070">
+                                                                                                                               <int key="NSCellFlags">-2076049856</int>
+                                                                                                                               <int key="NSCellFlags2">2048</int>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSControlView" ref="371122794"/>
+                                                                                                                               <int key="NSButtonFlags">109199615</int>
+                                                                                                                               <int key="NSButtonFlags2">1</int>
+                                                                                                                               <object class="NSFont" key="NSAlternateImage">
+                                                                                                                                       <string key="NSName">LucidaGrande</string>
+                                                                                                                                       <double key="NSSize">1.300000e+01</double>
+                                                                                                                                       <int key="NSfFlags">16</int>
+                                                                                                                               </object>
+                                                                                                                               <string key="NSAlternateContents"/>
+                                                                                                                               <object class="NSMutableString" key="NSKeyEquivalent">
+                                                                                                                                       <characters key="NS.bytes"/>
+                                                                                                                               </object>
+                                                                                                                               <int key="NSPeriodicDelay">400</int>
+                                                                                                                               <int key="NSPeriodicInterval">75</int>
+                                                                                                                               <object class="NSMenuItem" key="NSMenuItem" id="712846521">
+                                                                                                                                       <reference key="NSMenu" ref="263556285"/>
+                                                                                                                                       <string key="NSTitle">Large</string>
+                                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                                       <int key="NSState">1</int>
+                                                                                                                                       <reference key="NSOnImage" ref="441143142"/>
+                                                                                                                                       <reference key="NSMixedImage" ref="1052235771"/>
+                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                                       <int key="NSTag">2</int>
+                                                                                                                                       <reference key="NSTarget" ref="710721070"/>
+                                                                                                                               </object>
+                                                                                                                               <bool key="NSMenuItemRespectAlignment">YES</bool>
+                                                                                                                               <object class="NSMenu" key="NSMenu" id="263556285">
+                                                                                                                                       <object class="NSMutableString" key="NSTitle">
+                                                                                                                                               <characters key="NS.bytes">OtherViews</characters>
+                                                                                                                                       </object>
+                                                                                                                                       <object class="NSMutableArray" key="NSMenuItems">
+                                                                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                                                               <object class="NSMenuItem" id="474936008">
+                                                                                                                                                       <reference key="NSMenu" ref="263556285"/>
+                                                                                                                                                       <string key="NSTitle">Small</string>
+                                                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                                                       <reference key="NSOnImage" ref="441143142"/>
+                                                                                                                                                       <reference key="NSMixedImage" ref="1052235771"/>
+                                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                                                       <reference key="NSTarget" ref="710721070"/>
+                                                                                                                                               </object>
+                                                                                                                                               <object class="NSMenuItem" id="465499750">
+                                                                                                                                                       <reference key="NSMenu" ref="263556285"/>
+                                                                                                                                                       <string key="NSTitle">Medium</string>
+                                                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                                                       <reference key="NSOnImage" ref="441143142"/>
+                                                                                                                                                       <reference key="NSMixedImage" ref="1052235771"/>
+                                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                                                       <int key="NSTag">1</int>
+                                                                                                                                                       <reference key="NSTarget" ref="710721070"/>
+                                                                                                                                               </object>
+                                                                                                                                               <reference ref="712846521"/>
+                                                                                                                                               <object class="NSMenuItem" id="95855543">
+                                                                                                                                                       <reference key="NSMenu" ref="263556285"/>
+                                                                                                                                                       <string key="NSTitle">Full Size</string>
+                                                                                                                                                       <string key="NSKeyEquiv"/>
+                                                                                                                                                       <int key="NSKeyEquivModMask">1048576</int>
+                                                                                                                                                       <int key="NSMnemonicLoc">2147483647</int>
+                                                                                                                                                       <reference key="NSOnImage" ref="441143142"/>
+                                                                                                                                                       <reference key="NSMixedImage" ref="1052235771"/>
+                                                                                                                                                       <string key="NSAction">_popUpItemAction:</string>
+                                                                                                                                                       <int key="NSTag">3</int>
+                                                                                                                                                       <reference key="NSTarget" ref="710721070"/>
+                                                                                                                                               </object>
+                                                                                                                                       </object>
+                                                                                                                               </object>
+                                                                                                                               <int key="NSSelectedIndex">2</int>
+                                                                                                                               <int key="NSPreferredEdge">3</int>
+                                                                                                                               <bool key="NSUsesItemFromMenu">YES</bool>
+                                                                                                                               <bool key="NSAltersState">YES</bool>
+                                                                                                                               <int key="NSArrowPosition">1</int>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSButton" id="511774165">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{256, 7}, {96, 28}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSButtonCell" key="NSCell" id="645491960">
+                                                                                                                               <int key="NSCellFlags">604110336</int>
+                                                                                                                               <int key="NSCellFlags2">134348800</int>
+                                                                                                                               <string key="NSContents">View Gallery</string>
+                                                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                                                               <reference key="NSControlView" ref="511774165"/>
+                                                                                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                                                                                               <int key="NSButtonFlags2">129</int>
+                                                                                                                               <string key="NSAlternateContents"/>
+                                                                                                                               <string key="NSKeyEquivalent"/>
+                                                                                                                               <int key="NSPeriodicDelay">200</int>
+                                                                                                                               <int key="NSPeriodicInterval">25</int>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                               <object class="NSBox" id="239316494">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">12</int>
+                                                                                                                       <string key="NSFrame">{{237, 30}, {5, 161}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <string key="NSOffsets">{0, 0}</string>
+                                                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                                                               <string key="NSContents">Box</string>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                                                                                               <object class="NSColor" key="NSTextColor">
+                                                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                                                               </object>
+                                                                                                                       </object>
+                                                                                                                       <int key="NSBorderType">3</int>
+                                                                                                                       <int key="NSBoxType">2</int>
+                                                                                                                       <int key="NSTitlePosition">0</int>
+                                                                                                                       <bool key="NSTransparent">NO</bool>
+                                                                                                               </object>
+                                                                                                               <object class="NSTextField" id="140247589">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{258, 42}, {207, 17}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="441029368">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Image Count:</string>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSControlView" ref="140247589"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
+                                                                                                       </object>
+                                                                                                       <string key="NSFrame">{{1, 1}, {480, 197}}</string>
+                                                                                                       <reference key="NSSuperview" ref="664773226"/>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <string key="NSFrame">{{14, 36}, {482, 213}}</string>
+                                                                                       <reference key="NSSuperview" ref="914781838"/>
+                                                                                       <string key="NSOffsets">{0, 0}</string>
+                                                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                                                               <int key="NSCellFlags">67239424</int>
+                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                               <string key="NSContents">Export Options</string>
+                                                                                               <reference key="NSSupport" ref="26"/>
+                                                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                                                               <object class="NSColor" key="NSTextColor">
+                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <reference key="NSContentView" ref="675618554"/>
+                                                                                       <int key="NSBorderType">1</int>
+                                                                                       <int key="NSBoxType">0</int>
+                                                                                       <int key="NSTitlePosition">2</int>
+                                                                                       <bool key="NSTransparent">NO</bool>
+                                                                               </object>
+                                                                       </object>
+                                                                       <string key="NSFrame">{{2, 2}, {510, 373}}</string>
+                                                                       <reference key="NSSuperview" ref="109597301"/>
+                                                               </object>
+                                                       </object>
+                                                       <string key="NSFrame">{{17, 16}, {514, 390}}</string>
+                                                       <reference key="NSSuperview" ref="442259745"/>
+                                                       <string key="NSOffsets">{0, 0}</string>
+                                                       <object class="NSTextFieldCell" key="NSTitleCell">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">0</int>
+                                                               <string key="NSContents">Ansel</string>
+                                                               <reference key="NSSupport" ref="26"/>
+                                                               <reference key="NSBackgroundColor" ref="453091517"/>
+                                                               <object class="NSColor" key="NSTextColor">
+                                                                       <int key="NSColorSpace">3</int>
+                                                                       <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes>
+                                                               </object>
+                                                       </object>
+                                                       <reference key="NSContentView" ref="914781838"/>
+                                                       <int key="NSBorderType">3</int>
+                                                       <int key="NSBoxType">0</int>
+                                                       <int key="NSTitlePosition">2</int>
+                                                       <bool key="NSTransparent">NO</bool>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{548, 406}</string>
+                                       <reference key="NSSuperview"/>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
+                               <string key="NSMinSize">{213, 129}</string>
+                               <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+                       </object>
+               </object>
+               <object class="IBObjectContainer" key="IBDocument.Objects">
+                       <object class="NSMutableArray" key="connectionRecords">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mSettingsBox</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="109597301"/>
+                                       </object>
+                                       <int key="connectionID">37</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mPlugin</string>
+                                               <reference key="source" ref="109597301"/>
+                                               <reference key="destination" ref="685567789"/>
+                                       </object>
+                                       <int key="connectionID">64</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mSizePopUp</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="371122794"/>
+                                       </object>
+                                       <int key="connectionID">65</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">galleryCombo</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="553805234"/>
+                                       </object>
+                                       <int key="connectionID">142</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">spinner</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="758028067"/>
+                                       </object>
+                                       <int key="connectionID">239</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">showNewGallery:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="60291071"/>
+                                       </object>
+                                       <int key="connectionID">336</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">defaultImageView</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="943334524"/>
+                                       </object>
+                                       <int key="connectionID">359</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">doAddServer:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="931753347"/>
+                                       </object>
+                                       <int key="connectionID">419</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">doCancelAddServer:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="470501331"/>
+                                       </object>
+                                       <int key="connectionID">420</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">newServerSheet</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="920958882"/>
+                                       </object>
+                                       <int key="connectionID">421</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mServersPopUp</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="447167783"/>
+                                       </object>
+                                       <int key="connectionID">490</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">clickServer:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="447167783"/>
+                                       </object>
+                                       <int key="connectionID">492</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">statusLabel</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="706605497"/>
+                                       </object>
+                                       <int key="connectionID">497</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">serverListPanel</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="114974401"/>
+                                       </object>
+                                       <int key="connectionID">505</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">closeServerList:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="173168675"/>
+                                       </object>
+                                       <int key="connectionID">506</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">dataSource</string>
+                                               <reference key="source" ref="122283779"/>
+                                               <reference key="destination" ref="685567789"/>
+                                       </object>
+                                       <int key="connectionID">518</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">serverTable</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="122283779"/>
+                                       </object>
+                                       <int key="connectionID">519</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">removeServer:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="887276643"/>
+                                       </object>
+                                       <int key="connectionID">523</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mCancelConnect</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="739969881"/>
+                                       </object>
+                                       <int key="connectionID">525</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">clickCancelConnect:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="1009076064"/>
+                                       </object>
+                                       <int key="connectionID">526</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mMakeNewServerDefault</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="381272541"/>
+                                       </object>
+                                       <int key="connectionID">529</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mServerSheetServerNickName</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="536650280"/>
+                                       </object>
+                                       <int key="connectionID">530</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mServerSheetHostURL</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="143194876"/>
+                                       </object>
+                                       <int key="connectionID">531</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mServerSheetUsername</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="943485916"/>
+                                       </object>
+                                       <int key="connectionID">532</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mServerSheetPassword</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="407883474"/>
+                                       </object>
+                                       <int key="connectionID">533</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mNewGalleryButton</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="60291071"/>
+                                       </object>
+                                       <int key="connectionID">534</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">clickViewGallery:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="511774165"/>
+                                       </object>
+                                       <int key="connectionID">543</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">viewGallery</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="511774165"/>
+                                       </object>
+                                       <int key="connectionID">544</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mviewGallerySheet</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="240545061"/>
+                                       </object>
+                                       <int key="connectionID">545</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">closeGalleryView</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="300259137"/>
+                                       </object>
+                                       <int key="connectionID">548</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">closeGalleryView:</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="300259137"/>
+                                       </object>
+                                       <int key="connectionID">549</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">dataSource</string>
+                                               <reference key="source" ref="798730592"/>
+                                               <reference key="destination" ref="685567789"/>
+                                       </object>
+                                       <int key="connectionID">575</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">browserView</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="798730592"/>
+                                       </object>
+                                       <int key="connectionID">576</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mImageCountLabel</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="140247589"/>
+                                       </object>
+                                       <int key="connectionID">583</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>
+                                               <object class="NSArray" key="object" id="0">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                               </object>
+                                               <reference key="children" ref="192295378"/>
+                                               <nil key="parent"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-2</int>
+                                               <reference key="object" ref="685567789"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-1</int>
+                                               <reference key="object" ref="357158831"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">First Responder</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-3</int>
+                                               <reference key="object" ref="377299838"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Application</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">387</int>
+                                               <reference key="object" ref="920958882"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="345710193"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Panel (Add Server)</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">388</int>
+                                               <reference key="object" ref="345710193"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="143194876"/>
+                                                       <reference ref="816852072"/>
+                                                       <reference ref="943485916"/>
+                                                       <reference ref="407883474"/>
+                                                       <reference ref="545362646"/>
+                                                       <reference ref="377949113"/>
+                                                       <reference ref="17412812"/>
+                                                       <reference ref="536650280"/>
+                                                       <reference ref="931753347"/>
+                                                       <reference ref="470501331"/>
+                                                       <reference ref="381272541"/>
+                                               </object>
+                                               <reference key="parent" ref="920958882"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">389</int>
+                                               <reference key="object" ref="143194876"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="954322263"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">391</int>
+                                               <reference key="object" ref="816852072"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="748421632"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">393</int>
+                                               <reference key="object" ref="943485916"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="332374721"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">395</int>
+                                               <reference key="object" ref="407883474"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="321721582"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">397</int>
+                                               <reference key="object" ref="545362646"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="726913580"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">399</int>
+                                               <reference key="object" ref="377949113"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1043094791"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">401</int>
+                                               <reference key="object" ref="17412812"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1034567103"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">403</int>
+                                               <reference key="object" ref="536650280"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="611300750"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">405</int>
+                                               <reference key="object" ref="931753347"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="192200439"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">407</int>
+                                               <reference key="object" ref="470501331"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="306533473"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">409</int>
+                                               <reference key="object" ref="381272541"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="754494626"/>
+                                               </object>
+                                               <reference key="parent" ref="345710193"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">472</int>
+                                               <reference key="object" ref="954322263"/>
+                                               <reference key="parent" ref="143194876"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">473</int>
+                                               <reference key="object" ref="748421632"/>
+                                               <reference key="parent" ref="816852072"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">474</int>
+                                               <reference key="object" ref="332374721"/>
+                                               <reference key="parent" ref="943485916"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">475</int>
+                                               <reference key="object" ref="321721582"/>
+                                               <reference key="parent" ref="407883474"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">476</int>
+                                               <reference key="object" ref="726913580"/>
+                                               <reference key="parent" ref="545362646"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">477</int>
+                                               <reference key="object" ref="1043094791"/>
+                                               <reference key="parent" ref="377949113"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">478</int>
+                                               <reference key="object" ref="1034567103"/>
+                                               <reference key="parent" ref="17412812"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">479</int>
+                                               <reference key="object" ref="611300750"/>
+                                               <reference key="parent" ref="536650280"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">480</int>
+                                               <reference key="object" ref="192200439"/>
+                                               <reference key="parent" ref="931753347"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">481</int>
+                                               <reference key="object" ref="306533473"/>
+                                               <reference key="parent" ref="470501331"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">482</int>
+                                               <reference key="object" ref="754494626"/>
+                                               <reference key="parent" ref="381272541"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">501</int>
+                                               <reference key="object" ref="114974401"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1015540943"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">502</int>
+                                               <reference key="object" ref="1015540943"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="190463150"/>
+                                                       <reference ref="173168675"/>
+                                                       <reference ref="887276643"/>
+                                                       <reference ref="261477617"/>
+                                               </object>
+                                               <reference key="parent" ref="114974401"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">503</int>
+                                               <reference key="object" ref="173168675"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1051407572"/>
+                                               </object>
+                                               <reference key="parent" ref="1015540943"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">504</int>
+                                               <reference key="object" ref="1051407572"/>
+                                               <reference key="parent" ref="173168675"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">507</int>
+                                               <reference key="object" ref="190463150"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="99836435"/>
+                                                       <reference ref="434957656"/>
+                                                       <reference ref="122283779"/>
+                                                       <reference ref="583871843"/>
+                                               </object>
+                                               <reference key="parent" ref="1015540943"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">508</int>
+                                               <reference key="object" ref="99836435"/>
+                                               <reference key="parent" ref="190463150"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">509</int>
+                                               <reference key="object" ref="434957656"/>
+                                               <reference key="parent" ref="190463150"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">510</int>
+                                               <reference key="object" ref="122283779"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="935876783"/>
+                                                       <reference ref="698453740"/>
+                                                       <reference ref="36379594"/>
+                                               </object>
+                                               <reference key="parent" ref="190463150"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">511</int>
+                                               <reference key="object" ref="583871843"/>
+                                               <reference key="parent" ref="190463150"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">512</int>
+                                               <reference key="object" ref="935876783"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="232409811"/>
+                                               </object>
+                                               <reference key="parent" ref="122283779"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">513</int>
+                                               <reference key="object" ref="698453740"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="110708844"/>
+                                               </object>
+                                               <reference key="parent" ref="122283779"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">514</int>
+                                               <reference key="object" ref="110708844"/>
+                                               <reference key="parent" ref="698453740"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">515</int>
+                                               <reference key="object" ref="232409811"/>
+                                               <reference key="parent" ref="935876783"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">516</int>
+                                               <reference key="object" ref="36379594"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="631200346"/>
+                                               </object>
+                                               <reference key="parent" ref="122283779"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">517</int>
+                                               <reference key="object" ref="631200346"/>
+                                               <reference key="parent" ref="36379594"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">521</int>
+                                               <reference key="object" ref="887276643"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="857791556"/>
+                                               </object>
+                                               <reference key="parent" ref="1015540943"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">522</int>
+                                               <reference key="object" ref="857791556"/>
+                                               <reference key="parent" ref="887276643"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">527</int>
+                                               <reference key="object" ref="261477617"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="574730139"/>
+                                               </object>
+                                               <reference key="parent" ref="1015540943"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">528</int>
+                                               <reference key="object" ref="574730139"/>
+                                               <reference key="parent" ref="261477617"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">536</int>
+                                               <reference key="object" ref="240545061"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="573233790"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">GalleryView</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">537</int>
+                                               <reference key="object" ref="573233790"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="300259137"/>
+                                                       <reference ref="445821140"/>
+                                               </object>
+                                               <reference key="parent" ref="240545061"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">5</int>
+                                               <reference key="object" ref="68821434"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="442259745"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Window</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">6</int>
+                                               <reference key="object" ref="442259745"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="109597301"/>
+                                               </object>
+                                               <reference key="parent" ref="68821434"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">7</int>
+                                               <reference key="object" ref="109597301"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="387030229"/>
+                                                       <reference ref="664773226"/>
+                                               </object>
+                                               <reference key="parent" ref="442259745"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">137</int>
+                                               <reference key="object" ref="664773226"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="239316494"/>
+                                                       <reference ref="60291071"/>
+                                                       <reference ref="371122794"/>
+                                                       <reference ref="597164431"/>
+                                                       <reference ref="950269879"/>
+                                                       <reference ref="943334524"/>
+                                                       <reference ref="530084779"/>
+                                                       <reference ref="553805234"/>
+                                                       <reference ref="511774165"/>
+                                                       <reference ref="140247589"/>
+                                               </object>
+                                               <reference key="parent" ref="109597301"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">500</int>
+                                               <reference key="object" ref="239316494"/>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">498</int>
+                                               <reference key="object" ref="511774165"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="645491960"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">499</int>
+                                               <reference key="object" ref="645491960"/>
+                                               <reference key="parent" ref="511774165"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">138</int>
+                                               <reference key="object" ref="60291071"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="843634421"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">462</int>
+                                               <reference key="object" ref="843634421"/>
+                                               <reference key="parent" ref="60291071"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">18</int>
+                                               <reference key="object" ref="371122794"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="710721070"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">461</int>
+                                               <reference key="object" ref="710721070"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="263556285"/>
+                                               </object>
+                                               <reference key="parent" ref="371122794"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">19</int>
+                                               <reference key="object" ref="263556285"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="474936008"/>
+                                                       <reference ref="465499750"/>
+                                                       <reference ref="712846521"/>
+                                                       <reference ref="95855543"/>
+                                               </object>
+                                               <reference key="parent" ref="710721070"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">20</int>
+                                               <reference key="object" ref="474936008"/>
+                                               <reference key="parent" ref="263556285"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">21</int>
+                                               <reference key="object" ref="465499750"/>
+                                               <reference key="parent" ref="263556285"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">22</int>
+                                               <reference key="object" ref="712846521"/>
+                                               <reference key="parent" ref="263556285"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">23</int>
+                                               <reference key="object" ref="95855543"/>
+                                               <reference key="parent" ref="263556285"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">9</int>
+                                               <reference key="object" ref="597164431"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="457524196"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">460</int>
+                                               <reference key="object" ref="457524196"/>
+                                               <reference key="parent" ref="597164431"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">360</int>
+                                               <reference key="object" ref="950269879"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="87551637"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">466</int>
+                                               <reference key="object" ref="87551637"/>
+                                               <reference key="parent" ref="950269879"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">357</int>
+                                               <reference key="object" ref="943334524"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="624236720"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">465</int>
+                                               <reference key="object" ref="624236720"/>
+                                               <reference key="parent" ref="943334524"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">169</int>
+                                               <reference key="object" ref="530084779"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="49643720"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">464</int>
+                                               <reference key="object" ref="49643720"/>
+                                               <reference key="parent" ref="530084779"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">140</int>
+                                               <reference key="object" ref="553805234"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="487568130"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">463</int>
+                                               <reference key="object" ref="487568130"/>
+                                               <reference key="parent" ref="553805234"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">136</int>
+                                               <reference key="object" ref="387030229"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="739969881"/>
+                                                       <reference ref="758028067"/>
+                                                       <reference ref="706605497"/>
+                                                       <reference ref="800292040"/>
+                                                       <reference ref="681115975"/>
+                                                       <reference ref="447167783"/>
+                                               </object>
+                                               <reference key="parent" ref="109597301"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">495</int>
+                                               <reference key="object" ref="739969881"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1009076064"/>
+                                               </object>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">496</int>
+                                               <reference key="object" ref="1009076064"/>
+                                               <reference key="parent" ref="739969881"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">216</int>
+                                               <reference key="object" ref="758028067"/>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">167</int>
+                                               <reference key="object" ref="706605497"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="945436340"/>
+                                               </object>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">468</int>
+                                               <reference key="object" ref="945436340"/>
+                                               <reference key="parent" ref="706605497"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">493</int>
+                                               <reference key="object" ref="800292040"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1013776364"/>
+                                               </object>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">494</int>
+                                               <reference key="object" ref="1013776364"/>
+                                               <reference key="parent" ref="800292040"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">413</int>
+                                               <reference key="object" ref="681115975"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="323509275"/>
+                                               </object>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">470</int>
+                                               <reference key="object" ref="323509275"/>
+                                               <reference key="parent" ref="681115975"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">484</int>
+                                               <reference key="object" ref="447167783"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="979637046"/>
+                                               </object>
+                                               <reference key="parent" ref="387030229"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">485</int>
+                                               <reference key="object" ref="979637046"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="271704379"/>
+                                               </object>
+                                               <reference key="parent" ref="447167783"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">486</int>
+                                               <reference key="object" ref="271704379"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="585870225"/>
+                                               </object>
+                                               <reference key="parent" ref="979637046"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">489</int>
+                                               <reference key="object" ref="585870225"/>
+                                               <reference key="parent" ref="271704379"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">546</int>
+                                               <reference key="object" ref="300259137"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="569706565"/>
+                                               </object>
+                                               <reference key="parent" ref="573233790"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">547</int>
+                                               <reference key="object" ref="569706565"/>
+                                               <reference key="parent" ref="300259137"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">577</int>
+                                               <reference key="object" ref="445821140"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="34214668"/>
+                                                       <reference ref="355872151"/>
+                                                       <reference ref="798730592"/>
+                                               </object>
+                                               <reference key="parent" ref="573233790"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">578</int>
+                                               <reference key="object" ref="34214668"/>
+                                               <reference key="parent" ref="445821140"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">579</int>
+                                               <reference key="object" ref="355872151"/>
+                                               <reference key="parent" ref="445821140"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">574</int>
+                                               <reference key="object" ref="798730592"/>
+                                               <reference key="parent" ref="445821140"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">581</int>
+                                               <reference key="object" ref="140247589"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="441029368"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">582</int>
+                                               <reference key="object" ref="441029368"/>
+                                               <reference key="parent" ref="140247589"/>
+                                       </object>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="flattenedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>-1.IBPluginDependency</string>
+                                       <string>-2.IBPluginDependency</string>
+                                       <string>-3.IBPluginDependency</string>
+                                       <string>-3.ImportedFromIB2</string>
+                                       <string>136.IBPluginDependency</string>
+                                       <string>136.ImportedFromIB2</string>
+                                       <string>137.IBPluginDependency</string>
+                                       <string>137.ImportedFromIB2</string>
+                                       <string>138.IBPluginDependency</string>
+                                       <string>138.ImportedFromIB2</string>
+                                       <string>140.IBPluginDependency</string>
+                                       <string>140.ImportedFromIB2</string>
+                                       <string>167.IBPluginDependency</string>
+                                       <string>167.ImportedFromIB2</string>
+                                       <string>169.IBPluginDependency</string>
+                                       <string>169.ImportedFromIB2</string>
+                                       <string>18.IBPluginDependency</string>
+                                       <string>18.ImportedFromIB2</string>
+                                       <string>19.IBPluginDependency</string>
+                                       <string>19.ImportedFromIB2</string>
+                                       <string>20.IBPluginDependency</string>
+                                       <string>20.ImportedFromIB2</string>
+                                       <string>21.IBPluginDependency</string>
+                                       <string>21.ImportedFromIB2</string>
+                                       <string>216.IBPluginDependency</string>
+                                       <string>216.ImportedFromIB2</string>
+                                       <string>22.IBPluginDependency</string>
+                                       <string>22.ImportedFromIB2</string>
+                                       <string>23.IBPluginDependency</string>
+                                       <string>23.ImportedFromIB2</string>
+                                       <string>357.IBPluginDependency</string>
+                                       <string>357.ImportedFromIB2</string>
+                                       <string>360.IBPluginDependency</string>
+                                       <string>360.ImportedFromIB2</string>
+                                       <string>387.IBEditorWindowLastContentRect</string>
+                                       <string>387.IBPluginDependency</string>
+                                       <string>387.IBWindowTemplateEditedContentRect</string>
+                                       <string>387.ImportedFromIB2</string>
+                                       <string>388.IBPluginDependency</string>
+                                       <string>388.ImportedFromIB2</string>
+                                       <string>389.IBPluginDependency</string>
+                                       <string>389.ImportedFromIB2</string>
+                                       <string>391.IBPluginDependency</string>
+                                       <string>391.ImportedFromIB2</string>
+                                       <string>393.IBPluginDependency</string>
+                                       <string>393.ImportedFromIB2</string>
+                                       <string>395.IBPluginDependency</string>
+                                       <string>395.ImportedFromIB2</string>
+                                       <string>397.IBPluginDependency</string>
+                                       <string>397.ImportedFromIB2</string>
+                                       <string>399.IBPluginDependency</string>
+                                       <string>399.ImportedFromIB2</string>
+                                       <string>401.IBPluginDependency</string>
+                                       <string>401.ImportedFromIB2</string>
+                                       <string>403.IBPluginDependency</string>
+                                       <string>403.ImportedFromIB2</string>
+                                       <string>405.IBPluginDependency</string>
+                                       <string>405.ImportedFromIB2</string>
+                                       <string>407.IBPluginDependency</string>
+                                       <string>407.ImportedFromIB2</string>
+                                       <string>409.IBPluginDependency</string>
+                                       <string>409.ImportedFromIB2</string>
+                                       <string>413.IBPluginDependency</string>
+                                       <string>413.ImportedFromIB2</string>
+                                       <string>484.IBPluginDependency</string>
+                                       <string>485.IBPluginDependency</string>
+                                       <string>486.IBEditorWindowLastContentRect</string>
+                                       <string>486.IBPluginDependency</string>
+                                       <string>489.IBPluginDependency</string>
+                                       <string>493.IBPluginDependency</string>
+                                       <string>494.IBPluginDependency</string>
+                                       <string>495.IBPluginDependency</string>
+                                       <string>496.IBPluginDependency</string>
+                                       <string>498.IBPluginDependency</string>
+                                       <string>499.IBPluginDependency</string>
+                                       <string>5.IBEditorWindowLastContentRect</string>
+                                       <string>5.IBPluginDependency</string>
+                                       <string>5.IBWindowTemplateEditedContentRect</string>
+                                       <string>5.ImportedFromIB2</string>
+                                       <string>5.windowTemplate.hasMinSize</string>
+                                       <string>5.windowTemplate.minSize</string>
+                                       <string>500.IBPluginDependency</string>
+                                       <string>501.IBEditorWindowLastContentRect</string>
+                                       <string>501.IBPluginDependency</string>
+                                       <string>501.IBWindowTemplateEditedContentRect</string>
+                                       <string>501.NSWindowTemplate.visibleAtLaunch</string>
+                                       <string>502.IBPluginDependency</string>
+                                       <string>503.IBPluginDependency</string>
+                                       <string>504.IBPluginDependency</string>
+                                       <string>507.IBPluginDependency</string>
+                                       <string>508.IBPluginDependency</string>
+                                       <string>509.IBPluginDependency</string>
+                                       <string>510.IBPluginDependency</string>
+                                       <string>511.IBPluginDependency</string>
+                                       <string>512.IBPluginDependency</string>
+                                       <string>513.IBPluginDependency</string>
+                                       <string>514.IBPluginDependency</string>
+                                       <string>515.IBPluginDependency</string>
+                                       <string>521.IBPluginDependency</string>
+                                       <string>522.IBPluginDependency</string>
+                                       <string>527.IBPluginDependency</string>
+                                       <string>528.IBPluginDependency</string>
+                                       <string>536.IBEditorWindowLastContentRect</string>
+                                       <string>536.IBPluginDependency</string>
+                                       <string>536.IBWindowTemplateEditedContentRect</string>
+                                       <string>536.NSWindowTemplate.visibleAtLaunch</string>
+                                       <string>537.IBPluginDependency</string>
+                                       <string>546.IBPluginDependency</string>
+                                       <string>547.IBPluginDependency</string>
+                                       <string>574.IBPluginDependency</string>
+                                       <string>581.IBPluginDependency</string>
+                                       <string>582.IBPluginDependency</string>
+                                       <string>6.IBPluginDependency</string>
+                                       <string>6.ImportedFromIB2</string>
+                                       <string>7.CustomClassName</string>
+                                       <string>7.IBPluginDependency</string>
+                                       <string>7.ImportedFromIB2</string>
+                                       <string>9.IBPluginDependency</string>
+                                       <string>9.ImportedFromIB2</string>
+                               </object>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1" id="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>{{351, 386}, {455, 195}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{351, 386}, {455, 195}}</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{682, 774}, {382, 23}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{258, 642}, {548, 406}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{258, 642}, {548, 406}}</string>
+                                       <reference ref="5"/>
+                                       <reference ref="5"/>
+                                       <string>{213, 107}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{127, 600}, {679, 358}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{127, 600}, {679, 358}}</string>
+                                       <reference ref="8"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{91, 762}, {480, 327}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{91, 762}, {480, 327}}</string>
+                                       <reference ref="8"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.imagekit.ibplugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>AnselExportPluginBox</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <reference ref="5"/>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="unlocalizedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="NSArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                               <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>
+                               <object class="NSArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                       </object>
+                       <nil key="sourceID"/>
+                       <int key="maxID">583</int>
+               </object>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">AnselExportController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>clickCancelConnect:</string>
+                                                       <string>clickServer:</string>
+                                                       <string>clickViewGallery:</string>
+                                                       <string>closeGalleryView:</string>
+                                                       <string>closeServerList:</string>
+                                                       <string>doAddServer:</string>
+                                                       <string>doCancelAddServer:</string>
+                                                       <string>removeServer:</string>
+                                                       <string>showNewGallery:</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>browserView</string>
+                                                       <string>closeGalleryView</string>
+                                                       <string>defaultImageView</string>
+                                                       <string>firstView</string>
+                                                       <string>galleryCombo</string>
+                                                       <string>mCancelConnect</string>
+                                                       <string>mExportMgr</string>
+                                                       <string>mImageCountLabel</string>
+                                                       <string>mMakeNewServerDefault</string>
+                                                       <string>mNewGalleryButton</string>
+                                                       <string>mServerSheetHostURL</string>
+                                                       <string>mServerSheetPassword</string>
+                                                       <string>mServerSheetServerNickName</string>
+                                                       <string>mServerSheetUsername</string>
+                                                       <string>mServersPopUp</string>
+                                                       <string>mSettingsBox</string>
+                                                       <string>mSizePopUp</string>
+                                                       <string>mviewGallerySheet</string>
+                                                       <string>newServerSheet</string>
+                                                       <string>serverListPanel</string>
+                                                       <string>serverTable</string>
+                                                       <string>spinner</string>
+                                                       <string>statusLabel</string>
+                                                       <string>viewGallery</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>IKImageBrowserView</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSImageView</string>
+                                                       <string>NSControl</string>
+                                                       <string>NSComboBox</string>
+                                                       <string>NSButton</string>
+                                                       <string>id</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSButton</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSSecureTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSPopUpButton</string>
+                                                       <string>NSBox</string>
+                                                       <string>NSPopUpButton</string>
+                                                       <string>NSWindow</string>
+                                                       <string>NSWindow</string>
+                                                       <string>NSPanel</string>
+                                                       <string>NSTableView</string>
+                                                       <string>NSProgressIndicator</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSButton</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">AnselExportController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">AnselExportController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBUserSource</string>
+                                               <string key="minorKey"/>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">AnselExportPluginBox</string>
+                                       <string key="superclassName">NSBox</string>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">mPlugin</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">AnselExportPluginBox.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">AnselExportPluginBox</string>
+                                       <string key="superclassName">NSBox</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBUserSource</string>
+                                               <string key="minorKey"/>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">FirstResponder</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBUserSource</string>
+                                               <string key="minorKey"/>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnsel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnselGallery.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">TURAnselGalleryPanelController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">xmlrpc-1.5.1/XMLRPCConnection.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBUserSource</string>
+                                               <string key="minorKey"/>
+                                       </object>
+                               </object>
+                       </object>
+               </object>
+               <int key="IBDocument.localizationMode">0</int>
+               <string key="IBDocument.LastKnownRelativeProjectPath">../iPhoto2Ansel.xcodeproj</string>
+               <int key="IBDocument.defaultPropertyAccessControl">3</int>
+       </data>
+</archive>
diff --git a/ApertureToAnselExportPlugin/English.lproj/Panel.nib/keyedobjects.nib b/ApertureToAnselExportPlugin/English.lproj/Panel.nib/keyedobjects.nib
new file mode 100644 (file)
index 0000000..206fbbe
Binary files /dev/null and b/ApertureToAnselExportPlugin/English.lproj/Panel.nib/keyedobjects.nib differ
diff --git a/ApertureToAnselExportPlugin/English.lproj/locversion.plist b/ApertureToAnselExportPlugin/English.lproj/locversion.plist
new file mode 100644 (file)
index 0000000..6f81098
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>LprojCompatibleVersion</key>
+       <string>80311.10.58</string>
+       <key>LprojLocale</key>
+       <string>en</string>
+       <key>LprojRevisionLevel</key>
+       <string>1</string>
+       <key>LprojVersion</key>
+       <string>80411.10.29</string>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/Info.plist b/ApertureToAnselExportPlugin/Info.plist
new file mode 100644 (file)
index 0000000..4204015
--- /dev/null
@@ -0,0 +1,73 @@
+<?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>CFBundleExecutable</key>
+       <string>ApertureToAnselExportPlugin</string>
+       <key>CFBundleIdentifier</key>
+       <string>com.yourcompany.export.ApertureToAnselExportPlugin</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>ApertureToAnselExportPlugin</string>
+       <key>CFBundlePackageType</key>
+       <string>BNDL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1</string>
+       <key>LSHasLocalizedDisplayName</key>
+       <true/>
+       <key>NSPrincipalClass</key>
+       <string>ApertureToAnselExportPlugin</string>
+       <key>ProPlugDictionaryVersion</key>
+       <string>1.0</string>
+       <key>ProPlugDynamicRegistration</key>
+       <false/>
+       <key>ProPlugPlugInGroupList</key>
+       <array>
+               <dict>
+                       <key>groupName</key>
+                       <string>Export</string>
+                       <key>uuid</key>
+                       <string>616BA321-B4C2-49DF-8FD8-2E3392D2D240</string>
+               </dict>
+       </array>
+       <key>ProPlugPlugInList</key>
+       <array>
+               <dict>
+                       <key>className</key>
+                       <string>ApertureToAnselExportPlugin</string>
+                       <key>displayName</key>
+                       <string>ApertureToAnselExportPlugin</string>
+                       <key>group</key>
+                       <string>616BA321-B4C2-49DF-8FD8-2E3392D2D240</string>
+                       <key>helpURL</key>
+                       <string></string>
+                       <key>protocolNames</key>
+                       <array>
+                               <string>ApertureExportPlugIn</string>
+                       </array>
+                       <key>infoString</key>
+                       <string>infoString</string>
+                       <key>uuid</key>
+                       <string>C4369CA3-A511-4D33-8417-61D15CE507C4</string>
+               </dict>
+       </array>
+       <key>ProPlugProtocolList</key>
+       <array>
+               <dict>
+                       <key>protocolName</key>
+                       <string>ApertureExportManager</string>
+                       <key>versions</key>
+                       <array>
+                               <integer>1</integer>
+                       </array>
+               </dict>
+       </array>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/TURAnsel.h b/ApertureToAnselExportPlugin/TURAnsel.h
new file mode 100644 (file)
index 0000000..b18c86f
--- /dev/null
@@ -0,0 +1,59 @@
+//
+//  TURAnsel.h
+//  myXMLTest
+//
+//  Created by Michael Rubinsky on 10/31/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+#import <Cocoa/Cocoa.h>
+@class TURAnselGallery, XMLRPCResponse;
+
+typedef enum {
+    PERMS_SHOW = 2,
+    PERMS_READ = 4,
+    PERMS_EDIT = 8,
+    PERMS_DELETE = 16
+} HORDE_PERMS;
+
+typedef enum {
+    TURAnselStateDisconnected = 0,
+    TURAnselStateConnected,
+    TURAnselStateError,
+    TURAnselStateCancelled
+} TURAnselState;
+
+
+@interface NSObject (TURAnselDelegate)
+- (void)TURAnselDidInitialize;
+- (void)TURAnselHadError: (NSError *)error;
+@end
+
+@interface TURAnsel : NSObject {
+    NSString *userAgent;
+    NSString *rpcEndPoint;
+    NSString *username;
+    NSString *password;
+    NSMutableArray *galleryList;
+    TURAnselState state;
+    id delegate;
+    NSLock *lock;
+}
+
+@property (readwrite, retain) NSString *rpcEndPoint;
+@property (readwrite, retain) NSString *username;
+@property (readwrite, retain) NSString *password;
+
+- (id)initWithConnectionParameters: (NSDictionary *)params;
+- (void)connect;
+- (TURAnselGallery *)getGalleryById: (NSString *)galleryId;
+- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index;
+- (XMLRPCResponse *)callRPCMethod: (NSString *)methodName withParams: (NSArray *)params;
+- (NSDictionary *)createNewGallery: (NSDictionary *)params;
+- (void)cancel;
+
+// Getters/setters
+- (void) setState: (TURAnselState)state;
+- (TURAnselState)state;
+- (id)delegate;
+- (void)setDelegate:(id)newDelegate;
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnsel.m b/ApertureToAnselExportPlugin/TURAnsel.m
new file mode 100644 (file)
index 0000000..6681495
--- /dev/null
@@ -0,0 +1,266 @@
+//
+//  TURAnsel.m
+//  AnselCocoaToolkit
+//
+//  Created by Michael Rubinsky on 10/31/08.
+//  Copyright 2008 Michael Rubinsky <mrubinsk@horde.org>
+//
+
+#import <Foundation/Foundation.h>
+#import <XMLRPC/XMLRPC.h>
+#import "TURXMLConnection.h"
+#import "TURAnsel.h"
+#import "TURAnselGallery.h"
+
+@interface TURAnsel (PrivateAPI)
+- (void)doLogin;
+@end
+
+@implementation TURAnsel
+
+@synthesize rpcEndPoint;
+@synthesize username;
+@synthesize password;
+
+#pragma mark init
+- (id)initWithConnectionParameters: (NSDictionary *)params
+{
+    [super init];
+    galleryList = [[NSMutableArray alloc] init];
+    
+    // Initialize the connection properties, KVC style
+    [self setValue:[params objectForKey:@"endpoint"] 
+            forKey: @"rpcEndPoint"];
+    [self setValue: [params objectForKey:@"username"]
+            forKey: @"username"];
+    [self setValue: [params objectForKey:@"password"]
+            forKey: @"password"];
+    [self setValue: @"The Ansel Cocoa XML-RPC Client"
+            forKey: @"userAgent"];
+    return self;
+}
+
+#pragma mark Instance Methods
+/**
+ * Initial connection to the Ansel server
+ * Authenticate and fill our cache with the available galleries for uploading to
+ */
+- (void)connect 
+{
+    [self doLogin];
+    if (state == TURAnselStateConnected) {
+        if ([delegate respondsToSelector:@selector(TURAnselDidInitialize)]) {
+            [delegate performSelectorOnMainThread:@selector(TURAnselDidInitialize)
+                                       withObject:self
+                                    waitUntilDone: NO];
+        }
+    }
+}
+
+- (void) cancel
+{
+    state = TURAnselStateCancelled;
+}
+
+// Fetch a gallery by id
+- (TURAnselGallery *)getGalleryById: (NSString *)galleryId
+{
+    for (TURAnselGallery *g in galleryList) {
+        if ([galleryId isEqualTo: [NSNumber numberWithInt: [g galleryId]]]) {
+            return g;
+        }
+    }
+    
+    return nil;
+}
+
+// Return the gallery at the specified position in the internal storage array.
+// Needed for when we are using this class as a datasource for a UI element.
+- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index
+{
+    TURAnselGallery *g = [galleryList objectAtIndex:index];
+    return g;
+}
+
+// Creates a new gallery
+// For now, only takes a gallery name, but no reason it can't take descriiption
+// and default perms etc...
+- (NSDictionary *)createNewGallery: (NSDictionary *)params
+{
+    NSArray *apiparams = [NSArray arrayWithObjects:
+                             @"ansel", params, nil]; 
+    XMLRPCResponse *response = [self callRPCMethod: @"images.createGallery"
+                                        withParams: apiparams];
+    if (state != TURAnselStateError) {
+        NSDictionary *results = [NSDictionary dictionaryWithObjectsAndKeys:
+                                    response, @"share_id",
+                                    [params valueForKey: @"name"], @"attribute_name",
+                                    @"", @"attribute_desc",
+                                    [NSNumber numberWithInt: 0], @"attribute_images",
+                                    [NSNumber numberWithInt: 0], @"attribute_default", nil];
+        TURAnselGallery *newGallery = [[TURAnselGallery alloc] initWithObject: results
+                                                                   controller: self];
+        [galleryList addObject: newGallery];
+        //[attributes release];
+        return results;
+    }
+    
+    // If we have an error, tell the world
+    // *really* need to give these errors real numbers.....
+    if ([delegate respondsToSelector:@selector(TURAnselHadError:)]) {
+        NSError *error = [NSError errorWithDomain:@"TURAnsel"
+                                             code:3
+                                         userInfo:[NSDictionary dictionaryWithObjectsAndKeys: @"Could not create gallery.", @"message", nil]];
+        [delegate TURAnselHadError:error];
+    }
+
+    return nil;
+}
+
+
+// Call an arbitrary RPC method on the Horde server.
+- (XMLRPCResponse *)callRPCMethod: (NSString *)methodName
+                       withParams: (NSArray *)params
+{
+    NSLog(@"Initiating connection for %@", methodName);
+    
+    // Get a URL object
+    NSURL *url = [NSURL URLWithString: [self valueForKey: @"rpcEndPoint"]];
+    XMLRPCRequest *request = [[XMLRPCRequest alloc]initWithHost: url];
+    [request setUserAgent: [self valueForKey:@"userAgent"]];
+    [request setMethod: methodName withParameters: params];
+    
+    NSDictionary *credentials = [[NSDictionary alloc] initWithObjectsAndKeys: 
+                                 [self valueForKey:@"username"], @"username",
+                                 [self valueForKey:@"password"], @"password", nil];
+    
+    TURXMLConnection *connection = [[TURXMLConnection alloc]
+                                    initWithXMLRPCRequest: request 
+                                    withCredentials:credentials];
+
+    // Don't move on until we have a response - this blocks the thread until
+    // that happens.  We should have some kind of timeout here...
+    while ([connection isRunning]) {        
+        if (state == TURAnselStateCancelled) {
+            [connection cancel];
+        }
+        NSDate *loopDate = [[NSDate alloc] initWithTimeIntervalSinceNow:0.1];
+        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
+                                 beforeDate:loopDate];
+        [loopDate release];
+    }
+    
+    if ([connection hasError] == NO) {
+        XMLRPCResponse *response = [[connection response] autorelease];
+        [credentials release];
+        [connection release];
+        [request release];
+        return response;
+    } else {
+        state = TURAnselStateError;
+        NSError *error = [[connection error] retain];
+        if ([delegate respondsToSelector:@selector(TURAnselHadError:)]) {
+            [delegate TURAnselHadError:error];
+        }
+        [error autorelease];
+        [connection release];
+        [request release];
+        return nil;
+    }
+
+}
+
+#pragma mark TableView datasource
+- (int)numberOfRowsInTableView: (NSTableView *)tv
+{
+    return [galleryList count];
+}
+
+- (id)tableView: (NSTableView *)tv
+objectValueForTableColumn:(NSTableColumn *)tc
+            row: (int)rowIndex
+{
+    NSString *identifier = [tc identifier]; 
+    TURAnselGallery *g = [galleryList objectAtIndex:rowIndex];
+    NSString *stringValue = [g valueForKey: identifier];
+    return stringValue;
+}
+
+#pragma mark ComboBox Datasource
+
+- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox
+{
+    return [galleryList count];
+}
+
+- (id)comboBox:(NSComboBox *)aComboBox
+  objectValueForItemAtIndex:(NSInteger)index
+{
+    TURAnselGallery *g = [galleryList objectAtIndex:index];
+    NSString *stringValue = [g valueForKey:@"galleryName"];
+    return stringValue;
+}
+
+#pragma mark Getter/Setters
+- (TURAnselState) state
+{
+    return state;
+}
+-(void) setState: (TURAnselState)newstate
+{
+    state = newstate;
+}
+
+- (id)delegate {
+    return delegate;    
+}
+
+- (void)setDelegate:(id)newDelegate {
+    delegate = newDelegate;
+}
+
+-(void) dealloc
+{
+    NSLog(@"TURAnsel dealloc");   
+    [galleryList removeAllObjects];
+    [galleryList release];
+    [rpcEndPoint release];
+    [username release];
+    [password release];
+    [userAgent release];
+    [super dealloc];
+}
+
+#pragma mark PrivateAPI
+- (void)doLogin
+{
+    // Start out by building an array of parameters to pass to the api call.
+    // We start by asking for a list of available galleries with PERMS_EDIT.
+    // This has the side effect of authenticating for the session.
+    NSArray *params = [[NSArray alloc] initWithObjects:
+                       @"ansel",                                 // Scope 
+                       [NSNumber numberWithInt: PERMS_EDIT],     // Perms
+                       @"",                                      // No parent
+                       [NSNumber numberWithBool:YES],            // allLevels
+                       [NSNumber numberWithInt: 0],              // Offset
+                       [NSNumber numberWithInt: 0],              // Count
+                       [self valueForKey:@"username"], nil];     // Restrict to user (This should be an option eventually).do
+    
+
+    id galleries = [self callRPCMethod:@"images.listGalleries"
+                            withParams:params];
+    if (state != TURAnselStateError) {
+        state = TURAnselStateConnected;
+        for (NSString *gal in galleries) {
+            TURAnselGallery *theGallery = [[TURAnselGallery alloc] initWithObject: gal
+                                                                       controller: self];
+            [theGallery setAnselController: self];
+            [galleryList addObject: theGallery];
+            [theGallery release];
+            theGallery = nil;
+        }
+    }
+    [params release];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselGallery.h b/ApertureToAnselExportPlugin/TURAnselGallery.h
new file mode 100644 (file)
index 0000000..c8a4bf8
--- /dev/null
@@ -0,0 +1,53 @@
+//
+//  TURAnselGallery.h
+//  
+// Class to wrap Ansel Gallery.
+//
+//  Created by Michael Rubinsky on 10/21/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+@class TURAnsel, NSURL, XMLRPCResponse;
+
+typedef enum {
+    TURAnselGalleryStateReady = 0,
+    TURAnselGalleryStateBusy
+} TURAnselGalleryState; 
+
+@interface NSObject (TURAnselGalleryDelegate)
+- (void)TURAnselGalleryDidReceiveRPCResponse: (XMLRPCResponse *)response;
+- (void)TURAnselGalleryDidUploadImage: (id *)gallery;
+@end
+
+@interface TURAnselGallery : NSObject {
+    int galleryId;
+    int galleryImageCount;
+    int galleryDefaultImage;
+    NSURL *galleryDefaultImageURL;
+    NSMutableArray *imageList;
+    NSString *galleryName;
+    NSString *galleryDescription;
+    TURAnsel *anselController;
+    TURAnselGalleryState state;
+    id delegate;
+}
+@property (readonly) NSString *galleryName;
+@property (readonly) NSString *galleryDescription;
+@property (readonly) int galleryImageCount;
+@property (readwrite) int galleryDefaultImage;
+
+- (id)initWithObject:(id)galleryData controller:(TURAnsel * )controller;
+- (void)uploadImageObject: (NSDictionary *)imageParameters;
+- (bool)isBusy;
+
+// Getter / Setter
+- (void)setDelegate: (id)newDelegate;
+- (id)delegate;
+- (NSURL *)galleryDefaultImageURL;
+- (id)listImages;
+- (int)galleryId;
+- (TURAnselGalleryState) state;
+- (void)setState: (TURAnselGalleryState)theState;
+- (void)setAnselController:(TURAnsel *)newController;
+@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselGallery.m b/ApertureToAnselExportPlugin/TURAnselGallery.m
new file mode 100644 (file)
index 0000000..4522b22
--- /dev/null
@@ -0,0 +1,206 @@
+//
+//  TURAnselGallery.m
+// Class wraps an Ansel Gallery
+//
+//  Created by Michael Rubinsky on 10/21/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+#import <Foundation/Foundation.h>
+#import "XMLRPC/XMLRPC.h"
+#import "TURXMLConnection.h"
+#import "TURAnsel.h"
+#import "TURAnselGallery.h"
+
+@interface TURAnselGallery (PrivateAPI)
+- (void)doUpload: (NSDictionary *)imageParams;
+@end
+
+@implementation TURAnselGallery
+
+@synthesize galleryDescription;
+@synthesize galleryName;
+@synthesize galleryImageCount;
+@synthesize galleryDefaultImage;
+
+#pragma mark Instance Methods --------------------------------------------------
+
+/**
+ * Init a gallery object
+ */
+- (id)initWithObject:(id)galleryData controller:(TURAnsel *)controller
+{
+    [super init];
+    [self setValue: [galleryData valueForKey:@"share_id"]
+            forKey: @"galleryId"];
+    [self setValue:[galleryData valueForKey:@"attribute_desc"]
+            forKey:@"galleryDescription"];
+    [self setValue:[galleryData valueForKey:@"attribute_name"]
+            forKey:@"galleryName"];
+    [self setValue: [galleryData valueForKey:@"attribute_images"]
+            forKey:@"galleryImageCount"];    
+    [self setValue: [galleryData valueForKey:@"attribute_default"]
+            forKey:@"galleryDefaultImage"];
+    [self setAnselController: controller];
+    return self;
+}
+
+/**
+ * Requests the gallery's default image url to be fetched from the server
+ * (This information is not present in the gallery definition array returned
+ *  from the images.listGalleries call). 
+ */
+- (NSURL *)galleryDefaultImageURL
+{
+    if (!galleryDefaultImageURL) {
+
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                         // Scope
+                           [NSNumber numberWithInt: galleryDefaultImage],    // Image Id
+                           @"thumb",                                         // Thumbnail type
+                           [NSNumber numberWithBool:YES],                    // Full path
+                           nil];
+        
+        [self setState:TURAnselGalleryStateBusy];
+        XMLRPCResponse *response = [anselController callRPCMethod: @"images.getImageUrl"
+                                                       withParams: params];
+        
+        if (response) {
+            galleryDefaultImageURL = [[NSURL URLWithString: [NSString stringWithFormat:@"%@", response]] retain];
+        }
+    }
+    
+    return galleryDefaultImageURL;
+}
+
+/**
+ * Get the complete list of image ids and URLs
+ */
+- (id)listImages
+{
+    if (!imageList) {
+        
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                //Scope
+                           [NSNumber numberWithInt: galleryId],     //Gallery Id
+                           [NSNumber numberWithInt: 2],             //PERMS_SHOW
+                           @"thumb",                                // Thumbnail
+                           [NSNumber numberWithBool:YES],           // Full path
+                           nil];
+        
+        [self setState:TURAnselGalleryStateBusy];
+        XMLRPCResponse *response = [anselController callRPCMethod: @"images.listImages"
+                                                       withParams: params];
+    
+        if (response) {
+            imageList = [response retain];
+        }
+    }
+    
+    return imageList;
+}
+    
+/**
+ * Upload the provided image to this gallery.
+ */
+- (void)uploadImageObject: (NSDictionary *)imageParameters
+{    
+    [self doUpload: imageParameters];
+}
+
+- (bool) isBusy
+{
+    if (state == TURAnselGalleryStateReady) {
+        return NO;
+    } else {
+        return YES;
+    }
+}
+
+#pragma mark Getter/Setter------------------------------------------------------
+- (int)galleryId
+{
+    return galleryId;
+}
+- (void)setGalleryId:(int)id
+{
+    galleryId = id;
+}
+
+- (id)delegate
+{
+    return delegate;
+}
+- (void)setDelegate: (id)newDelegate
+{
+    delegate = newDelegate;
+}
+
+- (TURAnselGalleryState)state
+{
+    return state;
+}
+- (void)setState: (TURAnselGalleryState)theState 
+{
+    state = theState;
+}
+
+- (void)setAnselController: (TURAnsel *)newController
+{
+    [anselController autorelease];
+    anselController = [newController retain];
+}
+
+- (TURAnsel *)anselController
+{
+    return anselController;
+}
+
+#pragma mark Overrides----------------------------------------------------------
+- (void)dealloc
+{
+    NSLog(@"TURAnselGallery dealloc called on Gallery %@", self);
+    [anselController release];
+    [galleryDefaultImageURL release];
+    [imageList release];
+    [super dealloc];
+}
+
+- (id)init
+{
+    [super init];
+    [self setState:TURAnselGalleryStateReady];
+    return self;
+}
+
+- (id)description 
+{
+    NSString *text = [NSString stringWithFormat:@"Description: %@ Id: %d has: %d images", galleryName, galleryId, galleryImageCount];
+    return text;
+}
+
+#pragma mark PrivateAPI
+- (void)doUpload:(NSDictionary *)imageParameters
+{
+        // Need to build the XMLRPC params array now.
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                 // app
+                           [NSNumber numberWithInt: galleryId],      // gallery_id
+                           [imageParameters valueForKey: @"data"],   // image data array   
+                           [imageParameters valueForKey: @"default"], // set as default?
+                           @"",                                      // Additional gallery data to set?      
+                           @"base64",                                // Image data encoding      
+                           nil];
+        
+        // Send the request up to the controller
+         [anselController callRPCMethod: @"images.saveImage"
+                           withParams: params];
+    
+        if ([delegate respondsToSelector:@selector(TURAnselGalleryDidUploadImage:)]) {
+            [delegate performSelectorOnMainThread: @selector(TURAnselGalleryDidUploadImage:)
+                                       withObject: self 
+                                    waitUntilDone: NO];
+        }
+    
+        [params release];
+}
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h b/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h
new file mode 100644 (file)
index 0000000..9e2f612
--- /dev/null
@@ -0,0 +1,35 @@
+//
+//  TURAnselGalleryPanelController.h
+//  iPhoto2Ansel
+//
+//  Created by Michael Rubinsky on 12/7/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "TURAnsel.h"
+
+@interface NSObject (TURAnselGalleryPaneControllerDelegate)
+-(void)TURAnselGalleryPanelDidAddGallery;
+@end
+
+@interface TURAnselGalleryPanelController : NSObject {
+    // Outlets
+    IBOutlet NSTextField *galleryNameTextField;
+    IBOutlet NSTextField *gallerySlugTextField;
+    IBOutlet NSTextField *galleryDescTextField;
+    IBOutlet NSPanel *newGallerySheet;
+    
+    TURAnsel *anselController;
+    NSWindow *controllerWindow;
+    id delegate;
+}
+
+// Actions
+- (IBAction)doNewGallery: (id)sender;
+- (IBAction)cancelNewGallery: (id)sender;
+- (id)initWithController: (TURAnsel *)theController;
+- (id)initWithController: (TURAnsel *)theController withGalleryName: (NSString *)galleryName;
+- (void)showSheetForWindow: (NSWindow *)theWindow;
+- (void)setDelegate: (id)theDelegate;
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m b/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m
new file mode 100644 (file)
index 0000000..baff799
--- /dev/null
@@ -0,0 +1,118 @@
+//
+//  TURAnselGalleryPanelController.m
+//  iPhoto2Ansel
+//
+//  Created by Michael Rubinsky on 12/7/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import "TURAnselGalleryPanelController.h"
+
+@implementation TURAnselGalleryPanelController
+
+#pragma mark IBActions
+- (IBAction)cancelNewGallery: (id)sender
+{
+    [NSApp endSheet: newGallerySheet];
+    [newGallerySheet orderOut: nil];   
+}
+
+- (IBAction)doNewGallery: (id)sender
+{
+    // Get Gallery Properties from the panel.
+    NSString *galleryName = [galleryNameTextField stringValue];
+    NSString *gallerySlug = [gallerySlugTextField stringValue];
+    NSString *galleryDescription = [galleryDescTextField stringValue];
+    
+    if (!galleryName) {
+        
+        [NSApp endSheet: newGallerySheet];
+        [newGallerySheet orderOut: nil];
+        
+        NSAlert *alert = [[NSAlert alloc] init];
+        [alert setMessageText:@"Gallery names cannot be empty"];
+        [alert setAlertStyle: NSCriticalAlertStyle];
+        [alert beginSheetModalForWindow: controllerWindow
+                          modalDelegate: nil 
+                         didEndSelector: nil
+                            contextInfo: nil];
+        [alert release];
+        return;
+    }
+    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
+                            galleryName, @"name",
+                            gallerySlug, @"slug",
+                            galleryDescription, @"desc", nil];
+    
+    NSDictionary *results = [[anselController createNewGallery: params] retain];
+    
+    [NSApp endSheet: newGallerySheet];
+    [newGallerySheet orderOut: nil];
+    
+    if ([anselController state] != TURAnselStateError) {
+        NSAlert *alert = [[NSAlert alloc] init];
+        [alert setMessageText: @"Gallery successfully created."];
+        [alert beginSheetModalForWindow: controllerWindow
+                          modalDelegate: nil
+                         didEndSelector: nil
+                            contextInfo: nil];
+        [alert release];
+        if ([delegate respondsToSelector:@selector(TURAnselGalleryPanelDidAddGallery)]) {
+            [delegate TURAnselGalleryPanelDidAddGallery];
+        }
+    }
+    
+    [results release];
+}
+
+-(id)initWithController: (TURAnsel *)theController
+{
+    [super init];
+    anselController = [theController retain];
+    [NSBundle loadNibNamed: @"AnselGalleryPanel"
+                     owner: self];
+    
+    return self;
+}
+
+- (id)initWithController: (TURAnsel *)theController
+       withGalleryName: (NSString *)galleryName 
+{
+    
+    [super init];
+    anselController = [theController retain];
+    [NSBundle loadNibNamed: @"AnselGalleryPanel"
+                     owner: self];
+    
+    [galleryNameTextField setStringValue: galleryName];
+    
+    return self;  
+    
+    
+}
+
+- (void)setDelegate: (id)theDelegate
+{
+    delegate = theDelegate; // weak
+}
+
+
+- (void)showSheetForWindow: (NSWindow *)theWindow
+{
+    [controllerWindow release];
+    controllerWindow = [theWindow retain];
+    [NSApp beginSheet: newGallerySheet
+       modalForWindow: theWindow
+        modalDelegate: nil
+       didEndSelector: nil
+          contextInfo: nil];
+}
+
+- (void)dealloc 
+{
+    [anselController release];
+    [controllerWindow release];
+    [super dealloc];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/TURXMLConnection.h b/ApertureToAnselExportPlugin/TURXMLConnection.h
new file mode 100644 (file)
index 0000000..bb8b354
--- /dev/null
@@ -0,0 +1,39 @@
+//
+//  TURXMLConnection.h
+//
+// This is a thin wrapper around XMLRPCRequests to allow them to more easily
+// be run in a seperate thread then the reciever that needs to know about it's
+// progress.  Done to deal with modal threads blocking the NSURLConnection
+// responses in iPhoto plugins.
+//
+//  Created by Michael Rubinsky on 11/5/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "XMLRPC/XMLRPCConnection.h"
+@class XMLRPCRequest;
+
+// Local error codes
+#define TURXML_ERR_BADAUTH  1  // Login failed
+#define TURXML_ERR_PARSE    2  // Could not parse XML
+#define TURXML_ERR_CANCEL   3  // Action cancelled
+
+@interface TURXMLConnection : XMLRPCConnection {
+    NSString *username;
+    NSString *password;
+    XMLRPCResponse *response;
+    XMLRPCConnection *connection;
+    BOOL hasError;
+    NSError *error;
+    BOOL running;
+}
+
+- (TURXMLConnection *)initWithXMLRPCRequest: (XMLRPCRequest *)request 
+                            withCredentials:(NSDictionary *)credentials;
+
+- (id)response;
+- (BOOL)hasError;
+- (BOOL)isRunning;
+- (NSError *)error;
+@end
diff --git a/ApertureToAnselExportPlugin/TURXMLConnection.m b/ApertureToAnselExportPlugin/TURXMLConnection.m
new file mode 100644 (file)
index 0000000..d1ffeac
--- /dev/null
@@ -0,0 +1,142 @@
+//
+//  TURXMLConnection.m
+//  iPhoto2Ansel
+//
+//  Created by Michael Rubinsky on 11/5/08.
+//  Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+#import <Foundation/Foundation.h>
+#import <XMLRPC/XMLRPC.h>
+#import "TURXMLConnection.h"
+
+@implementation TURXMLConnection
+
+static NSString *ERR_DOMAIN = @"com.theupstairsroom.XMLConnection";
+
+- (TURXMLConnection *)initWithXMLRPCRequest: (XMLRPCRequest *)request 
+                            withCredentials: (NSDictionary *)credentials
+{
+    username = [[credentials objectForKey:@"username"] retain];
+    password = [[credentials objectForKey:@"password"] retain];
+    running = YES;
+    connection = [[XMLRPCConnection alloc] initWithXMLRPCRequest: request
+                                                        delegate: self];
+    return self;
+}
+
+- (BOOL)isRunning
+{
+    return running;
+}
+
+- (id)response
+{
+    return response;
+}
+
+- (void)dealloc
+{
+    NSLog(@"TURXMLConnection dealloc called");
+    [username release];
+    [password release];
+    [super dealloc];
+}
+
+- (BOOL)hasError
+{
+    return hasError;
+}
+
+// Return the error object, but get rid of it.
+- (NSError *)error
+{
+    return [error autorelease];
+}
+
+#pragma mark XMLRPCConnection Delegate
+- (void)connection: (XMLRPCConnection *)xconnection 
+didReceiveResponse: (XMLRPCResponse *)theResponse 
+         forMethod: (NSString *)method
+{    
+    NSLog(@"Received response for %@", method);
+    if (theResponse != nil) {
+        if ([theResponse isFault]) {
+            NSLog(@"Fault code: %@", [theResponse faultCode]);
+            NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
+                                      [theResponse faultString], @"NSLocalizedDescriptionKey", nil];
+            error = [[NSError alloc] initWithDomain: ERR_DOMAIN
+                                               code: [[theResponse faultCode] intValue]
+                                           userInfo: userInfo];
+            hasError = YES;
+            [theResponse release];
+            [xconnection cancel];
+        }
+    } else {
+        NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
+                                  @"Unable to parse XML in XMLRPCDelegate method", @"NSLocalizedDescriptionKey", nil];
+        error = [[NSError alloc] initWithDomain: ERR_DOMAIN
+                                           code: TURXML_ERR_PARSE
+                                       userInfo: userInfo];
+        hasError = YES;
+        [theResponse release];
+    }
+    
+    response = [[theResponse responseObject] retain];
+    [theResponse release];
+    if (!hasError) {
+        // Looks like the NSURLConnection object is released somewhere upstream
+        // when there is an error.
+        [xconnection release];
+    }
+    running = NO;
+}
+
+- (void)connection: (XMLRPCConnection *)xconnection 
+didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge
+                        forMethod: (NSString *)method
+{
+    NSLog(@"Credentials requested in method: %@", method);
+    if ([challenge previousFailureCount] == 0) {
+        NSURLCredential *newCredential;
+        newCredential = [NSURLCredential credentialWithUser: [self valueForKey: @"username"]
+                                                   password: [self valueForKey: @"password"]
+                                                persistence: NSURLCredentialPersistenceForSession];
+        
+        [[challenge sender] useCredential: newCredential
+               forAuthenticationChallenge: challenge];
+        NSLog(@"Credentials sent %@", newCredential);
+    } else {
+        [[challenge sender] cancelAuthenticationChallenge: challenge];
+        NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
+                                  @"Authentication Failed", @"NSLocalizedDescriptionKey",
+                                  @"Check your username and password and try again.", @"NSLocalizedRecoverySuggestionErrorKey", nil];
+
+        error = [[NSError alloc] initWithDomain: ERR_DOMAIN
+                                           code: TURXML_ERR_BADAUTH
+                                       userInfo: userInfo];
+        running = NO;
+        hasError = YES;
+    }
+}
+
+- (void)connection: (XMLRPCConnection *)xconnection
+  didFailWithError: (NSError *)xerror
+         forMethod: (NSString *)method
+{
+    error = [xerror retain];
+    hasError = YES;
+    running = NO;
+}
+
+// Set the status and tell the underlaying connection we cancelled.
+- (void) cancel
+{
+    running = NO;
+    hasError = YES;
+    error = [[NSError alloc] initWithDomain: ERR_DOMAIN
+                                       code: TURXML_ERR_CANCEL
+                                   userInfo: nil];
+    [super cancel];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/XMLRPC-Info.plist b/ApertureToAnselExportPlugin/XMLRPC-Info.plist
new file mode 100644 (file)
index 0000000..e7411ea
--- /dev/null
@@ -0,0 +1,20 @@
+<?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>CFBundleExecutable</key>
+       <string>${EXECUTABLE_NAME}</string>
+       <key>CFBundleIdentifier</key>
+       <string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundlePackageType</key>
+       <string>FMWK</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.0</string>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.h
new file mode 100644 (file)
index 0000000..a0f6acb
--- /dev/null
@@ -0,0 +1,39 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// NSDataAdditions.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/NSData.h>
+
+@class NSString;
+
+@interface NSData (NSDataAdditions)
+
++ (NSData *)base64DataFromString: (NSString *)string;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSDataAdditions.m
new file mode 100644 (file)
index 0000000..4b3c076
--- /dev/null
@@ -0,0 +1,125 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// NSDataAdditions.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "NSDataAdditions.h"
+
+@implementation NSData (NSDataAdditions)
+
++ (NSData *)base64DataFromString: (NSString *)string {
+       unsigned long ixtext, lentext;
+       unsigned char ch, input[4], output[3];
+       short i, ixinput;
+       Boolean flignore, flendtext = false;
+       const char *temporary;
+       NSMutableData *result;
+       
+       if (string == nil) {
+               return [NSData data];
+       }
+       
+       ixtext = 0;
+       
+       temporary = [string UTF8String];
+       
+       lentext = [string length];
+       
+       result = [NSMutableData dataWithCapacity: lentext];
+       
+       ixinput = 0;
+       
+       while (true) {
+               if (ixtext >= lentext) {
+                       break;
+               }
+               
+               ch = temporary[ixtext++];
+               
+               flignore = false;
+               
+               if ((ch >= 'A') && (ch <= 'Z')) {
+                       ch = ch - 'A';
+               } else if ((ch >= 'a') && (ch <= 'z')) {
+                       ch = ch - 'a' + 26;
+               } else if ((ch >= '0') && (ch <= '9')) {
+                       ch = ch - '0' + 52;
+               } else if (ch == '+') {
+                       ch = 62;
+               } else if (ch == '=') {
+                       flendtext = true;
+               } else if (ch == '/') {
+                       ch = 63;
+               } else {
+                       flignore = true; 
+               }
+               
+               if (!flignore) {
+                       short ctcharsinput = 3;
+                       Boolean flbreak = false;
+                       
+                       if (flendtext) {
+                               if (ixinput == 0) {
+                                       break;
+                               }
+                               
+                               if ((ixinput == 1) || (ixinput == 2)) {
+                                       ctcharsinput = 1;
+                               } else {
+                                       ctcharsinput = 2;
+                               }
+                               
+                               ixinput = 3;
+                               
+                               flbreak = true;
+                       }
+                       
+                       input[ixinput++] = ch;
+                       
+                       if (ixinput == 4) {
+                               ixinput = 0;
+                               
+                               output[0] = (input[0] << 2) | ((input[1] & 0x30) >> 4);
+                               output[1] = ((input[1] & 0x0F) << 4) | ((input[2] & 0x3C) >> 2);
+                               output[2] = ((input[2] & 0x03) << 6) | (input[3] & 0x3F);
+                               
+                               for (i = 0; i < ctcharsinput; i++) {
+                                       [result appendBytes: &output[i] length: 1];
+                               }
+                       }
+                       
+                       if (flbreak) {
+                               break;
+                       }
+               }
+       }
+       
+       return result;
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.h
new file mode 100644 (file)
index 0000000..b4776f9
--- /dev/null
@@ -0,0 +1,39 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// NSStringAdditions.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/NSString.h>
+
+@class NSData;
+
+@interface NSString (NSStringAdditions)
+
++ (NSString *)base64StringFromData: (NSData *)data length: (NSInteger)length;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Additions/NSStringAdditions.m
new file mode 100644 (file)
index 0000000..22387b9
--- /dev/null
@@ -0,0 +1,119 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// NSStringAdditions.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "NSDataAdditions.h"
+
+/* Base64 Encoding Table */
+static char base64EncodingTable[64] = {
+       'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+       'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
+       'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
+       'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
+};
+
+@implementation NSString (NSStringExtensions)
+
++ (NSString *)base64StringFromData: (NSData *)data length: (NSInteger)length {
+       unsigned long ixtext, lentext;
+       long ctremaining;
+       unsigned char input[3], output[4];
+       short i, charsonline = 0, ctcopy;
+       const unsigned char *raw;
+       NSMutableString *result;
+    
+       lentext = [data length];
+       
+       if (lentext < 1) {
+               return @"";
+       }
+       
+       result = [NSMutableString stringWithCapacity: lentext];
+       
+       raw = [data bytes];
+       
+       ixtext = 0; 
+       
+       while (true) {
+               ctremaining = lentext - ixtext;
+               
+               if (ctremaining <= 0) {
+                       break;
+               }
+               
+               for (i = 0; i < 3; i++) { 
+                       unsigned long ix = ixtext + i;
+                       
+                       if (ix < lentext) {
+                               input[i] = raw[ix];
+                       } else {
+                               input[i] = 0;
+                       }
+               }
+               
+               output[0] = (input[0] & 0xFC) >> 2;
+               output[1] = ((input[0] & 0x03) << 4) | ((input[1] & 0xF0) >> 4);
+               output[2] = ((input[1] & 0x0F) << 2) | ((input[2] & 0xC0) >> 6);
+               output[3] = input[2] & 0x3F;
+               
+               ctcopy = 4;
+               
+               switch (ctremaining) {
+                       case 1: 
+                               ctcopy = 2; 
+                               break;
+                       case 2: 
+                               ctcopy = 3; 
+                               break;
+               }
+               
+               for (i = 0; i < ctcopy; i++) {
+                       [result appendString: [NSString stringWithFormat: @"%c", base64EncodingTable[output[i]]]];
+               }
+               
+               for (i = ctcopy; i < 4; i++) {
+                       [result appendString: @"="];
+               }
+               
+               ixtext += 3;
+               charsonline += 4;
+               
+               if (length > 0) {
+                       if (charsonline >= length) {
+                               charsonline = 0;
+                               
+                               [result appendString: @"\n"];
+                       }
+               }
+       }
+       
+       return result;
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Info.plist b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Info.plist
new file mode 100644 (file)
index 0000000..84c452a
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//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>CFBundleExecutable</key>
+               <string>${EXECUTABLE_NAME}</string>
+               <key>CFBundleIconFile</key>
+               <string></string>
+               <key>CFBundleIdentifier</key>
+               <string>com.divisiblebyzero.XMLRPC</string>
+               <key>CFBundleInfoDictionaryVersion</key>
+               <string>6.0</string>
+               <key>CFBundleName</key>
+               <string>${PRODUCT_NAME}</string>
+               <key>CFBundlePackageType</key>
+               <string>FMWK</string>
+               <key>CFBundleSignature</key>
+               <string>ZERO</string>
+               <key>CFBundleVersion</key>
+               <string>1.5.1</string>
+               <key>NSPrincipalClass</key>
+               <string></string>
+       </dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/LICENSE b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/LICENSE
new file mode 100644 (file)
index 0000000..f121be7
--- /dev/null
@@ -0,0 +1,23 @@
+== License
+
+= The Cocoa XML-RPC Framework is distributed under the MIT License:
+
+Copyright 2008 Eric Czarny <eczarny@gmail.com>
+
+Permission  is hereby granted, free of charge, to any person obtaining a copy of
+this  software  and  associated documentation files (the "Software"), to deal in
+the  Software  without  restriction,  including without limitation the rights to
+use,  copy,  modify,  merge, publish, distribute, sublicense, and/or sell copies
+of  the  Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The  above  copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED,  INCLUDING  BUT  NOT  LIMITED  TO  THE  WARRANTIES  OF MERCHANTABILITY,
+FITNESS  FOR  A  PARTICULAR  PURPOSE  AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR  ANY  CLAIM,  DAMAGES  OR OTHER
+LIABILITY,  WHETHER  IN  AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT  OF  OR  IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Languages/English.lproj/Localizable.strings b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/Languages/English.lproj/Localizable.strings
new file mode 100644 (file)
index 0000000..afec4bd
--- /dev/null
@@ -0,0 +1,3 @@
+/* ENGLISH */
+
+NSHumanReadableCopyright = "Cocoa XML-RPC Framework Â© 2008 Divisible by Zero";
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/README b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/README
new file mode 100644 (file)
index 0000000..c10d26d
--- /dev/null
@@ -0,0 +1,208 @@
+== The Cocoa XML-RPC Framework
+
+The  Cocoa  XML-RPC  Framework  is  a  simple,  and  lightweight, XML-RPC client
+framework written in Objective-C.
+
+== Requirements
+
+The  Cocoa  XML-RPC  Framework  has  been  built, and designed, for OS X 10.4 or
+later.  The  framework  relies  on  NSURLConnection  and  NSURLRequest  for HTTP
+transport, and NSXMLDocument for parsing XML-RPC responses.
+
+This version of the framework will not work with the iPhone SDK.
+
+== Usage
+
+The  following  examples of the Cocoa XML-RPC Framework assume that the included
+XML-RPC test server are running. The test server can be found under:
+
+    XMLRPC\Tools\xmlrpc-server
+
+The  XML-RPC  test  server  is  written  in Java and utilizes the Apache XML-RPC
+server  library.  To  start  the  server simply call Ant from the same directory
+where the build.xml file is located:
+
+    ant <target>
+
+The  target  is  optional,  omitting  this  argument  will  execute  the default
+target (the default target is "run"). The following targets are available:
+
+  - compile
+  - jar
+  - run
+  - clean
+
+More information on the XML-RPC test server can be found below.
+
+= Asynchronous
+
+Making  an  asynchronous XML-RPC request is probably the best way to communicate
+with  an  XML-RPC server. After creating an XMLRPCConnection the XML-RPC request
+is  sent  to  the  XML-RPC  server in the background. This allows the requesting
+application to continue performing other functions.
+
+Sending an asynchronous XML-RPC request is simple:
+
+- (void)sendRequest {
+    NSURL *URL = [NSURL URLWithString: @"http://127.0.0.1/"];
+    XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithHost: URL];
+
+    [request setMethod: @"Echo.echo" withParameter: @"Hello World!"];
+    [request setUserAgent: @"XML-RPC Example"];
+       
+    XMLRPCConnection *connection = [[XMLRPCConnection alloc]
+        initWithXMLRPCRequest: request delegate: self];
+
+    if (connection == nil) {
+        NSLog(@"Connection failed.");
+    }
+}
+
+It  is  important to understand that the caller is responsible for releasing the
+connection  and  response  objects  at  the  end  of the connection response and
+connection  failure  delegate  methods. Do not attempt to release the connection
+object anywhere but within these two delegate methods.
+
+- (void)connection: (XMLRPCConnection *)connection didReceiveResponse:
+        (XMLRPCResponse *)response forMethod: (NSString *)method {
+    if (response != nil) {
+        if ([response isFault]) {
+            NSLog(@"Fault code: %@", [response faultCode]);
+        } else {
+            NSLog(@"Response object: %@", [response responseObject]);
+        }
+
+        NSLog(@"Response source: %@", [response responseSourceXML]);
+    } else {
+        NSLog(@"Unable to parse response.");
+    }
+
+    [response release];
+    [connection release];
+}
+
+= Synchronous
+
+Synchronous  XML-RPC requests may be suitable in some situations. Unlike sending
+an asynchronous request, a synchronous request is made in the foreground causing
+the calling application to await an XML-RPC response.
+
+- (void)sendRequest {
+    NSURL *URL = [NSURL URLWithString: @"http://127.0.0.1/"];
+    XMLRPCRequest *request = [[[XMLRPCRequest alloc] initWithHost: URL]];
+
+    [request setMethod: @"Echo.echo" setParameter: @"Hello World!"];
+    [request setUserAgent: @"XML-RPC Example"];
+
+    XMLRPCResponse *response = [XMLRPCConnection
+        sendSynchronousXMLRPCRequest: request];
+
+    if (response != nil) {
+        if ([response isFault]) {
+            NSLog(@"Fault: %@", [response fault]);
+        } else {
+            NSLog(@"Response object: %@", [response responseObject]);
+        }
+
+        NSLog(@"Response source: %@", [response responseSourceXML]);
+    } else {
+        NSLog(@"Unable to parse response.");
+    }
+
+    [request release];
+    [response release];
+}
+
+A response will always return nil upon creation if it is unable to parse the XML
+data.  However,  in the case of a synchronous request, a nil response can either
+mean  the  response  could  not  be parsed, or the connection failed to send the
+request.
+
+An  asynchronous connection will return nil if it fails to send the request. The
+response   passed   to   the  connection:didReceiveResponse:forMethod:  delegate
+method  will  be  nil if the response object is unable to parse the XML response
+data.
+
+Also  note  that you may have access to the raw XML source to either the request
+and/or  response.  Though you may be able to extract the source from the request
+at  any  moment  in the object's life, it is always best to get the source after
+invoking  the  setMethod:withParameters: or setMethod:withParameter: methods. If
+you  ask  for  the  source  too  early,  you won't receive the fully created XML
+request source.
+
+== Using the XML-RPC test server
+
+The  XML-RPC  test server is a simple Java application that allows developers to
+easily  develop  software with Cocoa XML-RPC Framework. The test server is built
+on top of the Apache XML-RPC library.
+
+Using  the  test  server  is easy, simply call Ant from the same location as the
+build.xml file:
+
+    ant
+
+The default target is the "run" target, which will compile the Java source code,
+build  the  executable JAR file, and run the application. Included with the test
+server  is  a server.sh script, this Bash script will launch the test server (if
+it has already been built with Ant).
+
+= Creating XML-RPC server handlers
+
+The  XML-RPC  test  server  exposes the methods defined in server handlers. Each
+server handler is simply a Java class that is registered with the Apache XML-RPC
+library. Here is an example of the Echo handler provided in the distribution:
+
+    public class Echo {
+        public String echo(String message) {
+            return message;
+        }
+    }
+
+This  handler simply takes a message provided in the XML-RPC request and returns
+it  in  the  XML-RPC  response. To register this handler with the XML-RPC server
+simply add it to the propertyHandlerMapping in Server.java:
+
+    import com.divisiblebyzero.xmlrpc.model.handlers.*;
+
+    ...
+
+    try {
+        propertyHandlerMapping.addHandler("Echo", Echo.class);
+
+        this.embeddedXmlRpcServer.setHandlerMapping(propertyHandlerMapping);
+    } catch (Exception e) {
+        this.controlPanel.addLogMessage(e.getMessage());
+    }
+
+The handler is now available to any incoming XML-RPC requests.
+
+== What if I find a bug, or what if I want to help?
+
+Please, contact me with any questions, comments, suggestions, or problems. I try
+to  make  the  time  to  answer  every  request.  If you find a bug, it would be
+helpful to also provide steps to reproduce the problem.
+
+Those  wishing  to contribute to the project should begin by obtaining a working
+copy of the trunk:
+
+    svn co http://svn.divisiblebyzero.com/xmlrpc/trunk/
+
+The trunk contains the most recent changes to the project. The modifications you
+make  should then be used to create a patch. Patches should be sent to me with a
+detailed description of every change.
+
+== Acknowledgments
+
+The  Base64  encoder/decoder found in NSStringAdditions and NSDataAdditions have
+been adapted from code provided by Dave Winer.
+
+The  idea  for  this framework came from examples provided by Brent Simmons, the
+creator of NetNewsWire.
+
+== License
+
+Copyright 2008 Eric Czarny.
+
+The  Cocoa XML-RPC Framework  should  be  accompanied  by  a  LICENSE file, this
+file  contains  the  license relevant to this distribution. If no LICENSE exists
+please contact Eric Czarny <eczarny@gmail.com>.
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC-Info.plist b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC-Info.plist
new file mode 100644 (file)
index 0000000..3e59a1a
--- /dev/null
@@ -0,0 +1,20 @@
+<?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>CFBundleExecutable</key>
+       <string>${EXECUTABLE_NAME}</string>
+       <key>CFBundleIdentifier</key>
+       <string>com.yourcompany.XMLRPC</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundlePackageType</key>
+       <string>FMWK</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.0</string>
+</dict>
+</plist>
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.h
new file mode 100644 (file)
index 0000000..e1abb72
--- /dev/null
@@ -0,0 +1,33 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPC.h
+// 
+// Created by Eric Czarny on Wednesday, February 10, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <XMLRPC/XMLRPCConnection.h>
+#import <XMLRPC/XMLRPCRequest.h>
+#import <XMLRPC/XMLRPCResponse.h>
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.pch b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPC.pch
new file mode 100644 (file)
index 0000000..e426375
--- /dev/null
@@ -0,0 +1,33 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPC.pch
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#ifdef __OBJC__
+       #import <Foundation/Foundation.h>
+#endif
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.h
new file mode 100644 (file)
index 0000000..ddd5025
--- /dev/null
@@ -0,0 +1,73 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCConnection.h
+// 
+// Created by Eric Czarny on Thursday, January 15, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+#import <Foundation/Foundation.h>
+
+@class XMLRPCRequest, XMLRPCResponse;
+
+/* XML-RPC Connection Notifications */
+extern NSString *XMLRPCSentRequestNotification;
+extern NSString *XMLRPCRequestFailedNotification;
+extern NSString *XMLRPCReceivedAuthenticationChallengeNotification;
+extern NSString *XMLRPCCancelledAuthenticationChallengeNotification;
+extern NSString *XMLRPCReceivedResponseNotification;
+
+@interface XMLRPCConnection : NSObject {
+       NSURLConnection *currentConnection;
+       NSString *currentXMLRPCMethod;
+       NSMutableData *incomingXMLData;
+       id applicationDelegate;
+}
+
+- (id)initWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate;
+
+#pragma mark -
+
++ (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request;
+
+#pragma mark -
+
+- (void)cancel;
+
+@end
+
+#pragma mark -
+
+@interface NSObject (XMLRPCConnectionDelegate)
+
+- (void)connection: (XMLRPCConnection *)connection didReceiveResponse: (XMLRPCResponse *)response forMethod: (NSString *)method;
+
+- (void)connection: (XMLRPCConnection *)connection didFailWithError: (NSError *)error forMethod: (NSString *)method;
+
+- (void)connection: (XMLRPCConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge forMethod: (NSString *)method;
+
+- (void)connection: (XMLRPCConnection *)connection didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge forMethod: (NSString *)method;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCConnection.m
new file mode 100644 (file)
index 0000000..cb0b9af
--- /dev/null
@@ -0,0 +1,189 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCConnection.m
+// 
+// Created by Eric Czarny on Thursday, January 15, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "XMLRPCConnection.h"
+#import "XMLRPCRequest.h"
+#import "XMLRPCResponse.h"
+
+NSString *XMLRPCSentRequestNotification = @"XML-RPC Sent Request";
+NSString *XMLRPCRequestFailedNotification = @"XML-RPC Failed Receiving Response";
+NSString *XMLRPCReceivedAuthenticationChallengeNotification = @"XML-RPC Received Authentication Challenge";
+NSString *XMLRPCCancelledAuthenticationChallengeNotification = @"XML-RPC Cancelled Authentication Challenge";
+NSString *XMLRPCReceivedResponseNotification = @"XML-RPC Successfully Received Response";
+
+@interface XMLRPCConnection (XMLRPCConnectionPrivate)
+
+- (void)connection: (NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
+
+- (void)connection: (NSURLConnection *)connection didReceiveData: (NSData *)data;
+
+- (void)connection: (NSURLConnection *)connection didFailWithError: (NSError *)error;
+
+- (void)connection: (NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge;
+
+- (void)connection: (NSURLConnection *)connection didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge;
+
+- (void)connectionDidFinishLoading: (NSURLConnection *)connection;
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCConnection
+
+- (id)initWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate {
+       if (self = [super init]) {
+        [request retain];
+               incomingXMLData = [[NSMutableData alloc] init];
+               currentConnection = [[NSURLConnection alloc] initWithRequest: [request request] delegate: self];
+               
+               applicationDelegate = delegate;
+               
+               if (currentConnection != nil) {
+                       currentXMLRPCMethod = [[NSString alloc] initWithString: [request method]];
+                       
+                       [request release];
+                       
+                       [[NSNotificationCenter defaultCenter] postNotificationName: XMLRPCSentRequestNotification object: nil];
+               } else {
+                       if ([applicationDelegate respondsToSelector: @selector(connection:didFailWithError:forMethod:)]) {
+                               [applicationDelegate connection: self didFailWithError: nil forMethod: [request method]];
+                       }
+                       
+                       [request release];
+                                               
+                       return nil;
+               }
+       }
+       
+       return self;
+}
+
+#pragma mark -
+
++ (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request {
+       NSData *data = [[[NSURLConnection sendSynchronousRequest: [request request] 
+               returningResponse: nil error: nil] retain] autorelease];
+       
+       [request release];
+       
+       if (data != nil) {
+               return [[[XMLRPCResponse alloc] initWithData: data] autorelease];
+       }
+       
+       return nil;
+}
+
+#pragma mark -
+
+- (void)cancel {
+       [currentConnection cancel];
+       
+       [currentConnection release];
+}
+
+#pragma mark -
+
+- (void)dealloc {
+       [currentXMLRPCMethod release];
+       [incomingXMLData release];
+       NSLog(@"XMLRPCConnection being released");
+       [super dealloc];
+}
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCConnection (XMLRPCConnectionPrivate)
+
+- (void)connection: (NSURLConnection *)connection didReceiveResponse: (NSURLResponse *)response {
+       if([response respondsToSelector: @selector(statusCode)]) {
+               NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
+               
+               if(statusCode >= 400) {
+                       [connection cancel];
+                       
+                       if ([applicationDelegate respondsToSelector: @selector(connection:didFailWithError:forMethod:)]) {
+                               NSError *error = [NSError errorWithDomain: NSCocoaErrorDomain code: statusCode userInfo: nil];
+                               
+                               [applicationDelegate connection: self didFailWithError: error forMethod: currentXMLRPCMethod];
+                       }
+                       
+                       [connection release];
+               }
+       }
+       
+       [incomingXMLData setLength: 0];
+}
+
+- (void)connection: (NSURLConnection *)connection didReceiveData: (NSData *)data {
+       [incomingXMLData appendData: data];
+}
+
+- (void)connection: (NSURLConnection *)connection didFailWithError: (NSError *)error {
+       if ([applicationDelegate respondsToSelector: @selector(connection:didFailWithError:forMethod:)]) {
+               [applicationDelegate connection: self didFailWithError: error forMethod: currentXMLRPCMethod];
+       }
+       
+       [[NSNotificationCenter defaultCenter] postNotificationName: XMLRPCRequestFailedNotification object: nil];
+       
+       [connection release];
+}
+
+- (void)connection: (NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge {
+       if ([applicationDelegate respondsToSelector: @selector(connection:didReceiveAuthenticationChallenge:forMethod:)]) {
+               [applicationDelegate connection: self didReceiveAuthenticationChallenge: challenge forMethod: currentXMLRPCMethod];
+       }
+       
+       [[NSNotificationCenter defaultCenter] postNotificationName: XMLRPCReceivedAuthenticationChallengeNotification object: nil];
+}
+
+- (void)connection: (NSURLConnection *)connection didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge {
+       if ([applicationDelegate respondsToSelector: @selector(connection:didCancelAuthenticationChallenge:forMethod:)]) {
+               [applicationDelegate connection: self didCancelAuthenticationChallenge: challenge forMethod: currentXMLRPCMethod];
+       }
+       
+       [[NSNotificationCenter defaultCenter] postNotificationName: XMLRPCCancelledAuthenticationChallengeNotification object: nil];
+}
+
+- (void)connectionDidFinishLoading: (NSURLConnection *)connection {
+       XMLRPCResponse *response = [[XMLRPCResponse alloc] initWithData: incomingXMLData];
+       
+       if ([applicationDelegate respondsToSelector: @selector(connection:didReceiveResponse:forMethod:)]) {
+               [applicationDelegate connection: self didReceiveResponse: response forMethod: currentXMLRPCMethod];
+       }
+       
+       [[NSNotificationCenter defaultCenter] postNotificationName: XMLRPCReceivedResponseNotification object: nil];
+       
+       [connection release];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.h
new file mode 100644 (file)
index 0000000..4b42e9b
--- /dev/null
@@ -0,0 +1,48 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCDecoder.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/Foundation.h>
+
+@interface XMLRPCDecoder : NSObject {
+       NSXMLDocument *responseXMLDocument;
+       BOOL isFault;
+}
+
+- (id)initWithData: (NSData *)data;
+
+#pragma mark -
+
+- (id)decode;
+
+#pragma mark -
+
+- (BOOL)isFault;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCDecoder.m
new file mode 100644 (file)
index 0000000..a4d68a9
--- /dev/null
@@ -0,0 +1,305 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCDecoder.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "XMLRPCDecoder.h"
+#import "NSDataAdditions.h"
+
+@interface XMLRPCDecoder (XMLRPCDecoderPrivate)
+
+- (NSXMLElement *)getChildFromElement: (NSXMLElement *)element withName: (NSString *)name;
+
+#pragma mark -
+
+- (id)decodeObject: (NSXMLElement *)element;
+
+- (id)trueDecodeObject: (NSXMLElement *)element;
+
+#pragma mark -
+
+- (NSArray *)decodeArray: (NSXMLElement *)element;
+
+#pragma mark -
+
+- (NSDictionary *)decodeDictionary: (NSXMLElement *)element;
+
+#pragma mark -
+
+- (NSNumber *)decodeNumber: (NSXMLElement *)element isDouble: (BOOL)flag;
+
+- (CFBooleanRef)decodeBool: (NSXMLElement *)element;
+
+- (NSString *)decodeString: (NSXMLElement *)element;
+
+- (NSDate *)decodeDate: (NSXMLElement *)element;
+
+- (NSData *)decodeData: (NSXMLElement *)element;
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCDecoder
+
+- (id)initWithData: (NSData *)data {
+       if (data == nil) {
+               return nil;
+       }
+       
+       if (self = [super init]) {
+               NSError *error = nil;
+               responseXMLDocument = [[NSXMLDocument alloc] initWithData: data options: NSXMLDocumentTidyXML error: &error];
+               
+               if (responseXMLDocument == nil) {
+                       if (error) {
+                               NSLog(@"Encountered an XML error: %@", error);
+                       }
+                       
+                       return nil;
+               }
+               
+               if (error) {
+                       NSLog(@"Encountered an XML error: %@", error);
+                       
+                       return nil;
+               }
+       }
+       
+       return self;
+}
+
+#pragma mark -
+
+- (id)decode {
+       NSXMLElement *child, *root = [responseXMLDocument rootElement];
+       
+       if (root == nil) {
+               return nil;
+       }
+       
+       child = [self getChildFromElement: root withName: @"params"];
+       
+       if (child != nil) {
+               child = [self getChildFromElement: child withName: @"param"];
+               
+               if (child == nil) {
+                       return nil;
+               }
+               
+               child = [self getChildFromElement: child withName: @"value"];
+               
+               if (child == nil) {
+                       return nil;
+               }
+       } else {
+               child = [self getChildFromElement: root withName: @"fault"];
+               
+               if (child == nil) {
+                       return nil;
+               }
+               
+               child = [self getChildFromElement: child withName: @"value"];
+               
+               if (child == nil) {
+                       return nil;
+               }
+               
+               isFault = YES;
+       }
+       
+       return [self decodeObject: child];
+}
+
+#pragma mark -
+
+- (BOOL)isFault {
+       return isFault;
+}
+
+#pragma mark -
+
+- (void)dealloc {
+       [responseXMLDocument release];
+       
+       [super dealloc];
+}
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCDecoder (XMLRPCDecoderPrivate)
+
+- (NSXMLElement *)getChildFromElement: (NSXMLElement *)element withName: (NSString *)name {
+       NSArray *children = [element elementsForName: name];
+       
+       if ([children count] > 0) {
+               return [children objectAtIndex: 0];
+       }
+       
+       return nil;
+}
+
+#pragma mark -
+
+- (id)decodeObject: (NSXMLElement *)element {
+       NSXMLElement *child = (NSXMLElement *)[element childAtIndex: 0];
+       
+       if (child != nil) {
+               return [self trueDecodeObject: child];
+       }
+       
+       return nil;
+}
+
+- (id)trueDecodeObject: (NSXMLElement *)element {
+       NSString *name = [element name];
+       
+       if ([name isEqualToString: @"array"]) {
+               return [self decodeArray: element];
+       } else if ([name isEqualToString: @"struct"]) {
+               return [self decodeDictionary: element];
+       } else if ([name isEqualToString: @"int"] || [name isEqualToString: @"i4"]) {
+               return [self decodeNumber: element isDouble: NO];
+       } else if ([name isEqualToString: @"double"]) {
+               return [self decodeNumber: element isDouble: YES];
+       } else if ([name isEqualToString: @"boolean"]) {
+               return (id)[self decodeBool: element];
+       } else if ([name isEqualToString: @"string"]) {
+               return [self decodeString: element];
+       } else if ([name isEqualToString: @"dateTime.iso8601"]) {
+               return [self decodeDate: element];
+       } else if ([name isEqualToString: @"base64"]) {
+               return [self decodeData: element];
+       } else {
+               return [self decodeString: element];
+       }
+       
+       return nil;
+}
+
+#pragma mark -
+
+- (NSArray *)decodeArray: (NSXMLElement *)element {
+       NSXMLElement *parent = [self getChildFromElement: element withName: @"data"];
+       NSMutableArray *array = [NSMutableArray array];
+       NSInteger index;
+       
+       if (parent == nil) {
+               return nil;
+       }
+       
+       for (index = 0; index < [parent childCount]; index++) {
+               NSXMLElement *child = (NSXMLElement *)[parent childAtIndex: index];
+               
+               if (![[child name] isEqualToString: @"value"]) {
+                       continue;
+               }
+               
+               id value = [self decodeObject: child];
+               
+               if (value != nil) {
+                       [array addObject: value];
+               }
+       }
+       
+       return (NSArray *)array;
+}
+
+#pragma mark -
+
+- (NSDictionary *)decodeDictionary: (NSXMLElement *)element {
+       NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
+       NSInteger index;
+       
+       for (index = 0; index < [element childCount]; index++) {
+               NSXMLElement *child, *parent = (NSXMLElement *)[element childAtIndex: index];
+               
+               if (![[parent name] isEqualToString: @"member"]) {
+                       continue;
+               }
+               
+               child = [self getChildFromElement: parent withName: @"name"];
+               
+               if (child == nil) {
+                       continue;
+               }
+               
+               NSString *key = [child stringValue];
+               
+               child = [self getChildFromElement: parent withName: @"value"];
+               
+               if (child == nil) {
+                       continue;
+               }
+               
+               id object = [self decodeObject: child];
+               
+               if ((object != nil) && (key != nil) && ![key isEqualToString: @""]) {
+                       [dictionary setObject: object forKey: key];
+               }
+       }
+       
+       return (NSDictionary *)dictionary;
+}
+
+#pragma mark -
+
+- (NSNumber *)decodeNumber: (NSXMLElement *)element isDouble: (BOOL)flag {
+       if (flag) {
+               return [NSNumber numberWithDouble: [[element stringValue] intValue]];
+       }
+       
+       return [NSNumber numberWithInt: [[element stringValue] intValue]];
+}
+
+- (CFBooleanRef)decodeBool: (NSXMLElement *)element {
+       if ([[element stringValue] isEqualToString: @"1"]) {
+               return kCFBooleanTrue;
+       }
+       
+       return kCFBooleanFalse;
+}
+
+- (NSString *)decodeString: (NSXMLElement *)element {
+       return [element stringValue];
+}
+
+- (NSDate *)decodeDate: (NSXMLElement *)element {
+       NSCalendarDate *date = [NSCalendarDate dateWithString: [element stringValue] 
+               calendarFormat: @"%Y%m%dT%H:%M:%S" locale: nil];
+       
+       return date;
+}
+
+- (NSData *)decodeData: (NSXMLElement *)element {
+       return [NSData base64DataFromString: [element stringValue]];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.h
new file mode 100644 (file)
index 0000000..d57af24
--- /dev/null
@@ -0,0 +1,53 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCEncoder.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/Foundation.h>
+
+@interface XMLRPCEncoder : NSObject {
+       NSString *currentXMLRPCMethod, *encoderSourceXML;
+       NSArray *currentXMLRPCParameters;
+}
+
+- (NSString *)encode;
+
+#pragma mark -
+
+- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters;
+
+#pragma mark -
+
+- (NSString *)method;
+- (NSArray *)parameters;
+
+#pragma mark -
+
+- (NSString *)encoderSourceXML;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCEncoder.m
new file mode 100644 (file)
index 0000000..d3b0727
--- /dev/null
@@ -0,0 +1,285 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCEncoder.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "XMLRPCEncoder.h"
+#import "NSStringAdditions.h"
+
+@interface XMLRPCEncoder (XMLRPCEncoderPrivate)
+
+- (NSString *)valueTag: (NSString *)tag value: (NSString *)value;
+
+#pragma mark -
+
+- (NSString *)replaceTarget: (NSString *)target withValue: (NSString *)value inString: (NSString *)string;
+
+- (NSString *)escapeValue: (NSString *)value;
+
+#pragma mark -
+
+- (NSString *)encodeObject: (id)object;
+
+#pragma mark -
+
+- (NSString *)encodeArray: (NSArray *)array;
+
+- (NSString *)encodeDictionary: (NSDictionary *)dictionary;
+
+#pragma mark -
+
+- (NSString *)encodeBoolean: (CFBooleanRef)boolean;
+
+- (NSString *)encodeNumber: (NSNumber *)number;
+
+- (NSString *)encodeString: (NSString *)string;
+
+- (NSString *)encodeDate: (NSDate *)date;
+
+- (NSString *)encodeData: (NSData *)data;
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCEncoder
+
+- (id)init {
+       if (self = [super init]) {
+               currentXMLRPCMethod = [[NSString alloc] init];
+               encoderSourceXML = [[NSString alloc] init];
+               currentXMLRPCParameters = [[NSArray alloc] init];
+       }
+       
+       return self;
+}
+
+#pragma mark -
+
+- (NSString *)encode {
+       NSMutableString *buffer = [NSMutableString stringWithString: @"<?xml version=\"1.0\"?><methodCall>"];
+       
+       [buffer appendFormat: @"<methodName>%@</methodName>", currentXMLRPCMethod];
+       
+       [buffer appendString: @"<params>"];
+       
+       if (currentXMLRPCParameters != nil) {
+               NSEnumerator *enumerator = [currentXMLRPCParameters objectEnumerator];
+               id parameter = nil;
+               
+               while (parameter = [enumerator nextObject]) {
+                       [buffer appendString: @"<param>"];
+                       [buffer appendString: [self encodeObject: parameter]];
+                       [buffer appendString: @"</param>"];
+               }
+       }
+       
+       [buffer appendString: @"</params>"];
+       
+       [buffer appendString: @"</methodCall>"];
+       
+       return buffer;
+}
+
+#pragma mark -
+
+- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters {
+       if (currentXMLRPCMethod != nil) {
+               [currentXMLRPCMethod release];
+       }
+       
+       if (method == nil) {
+               currentXMLRPCMethod = nil;
+       } else {
+               currentXMLRPCMethod = [method retain];
+       }
+       
+       if (currentXMLRPCParameters != nil) {
+               [currentXMLRPCParameters release];
+       }
+       
+       if (parameters == nil) {
+               currentXMLRPCParameters = nil;
+       } else {
+               currentXMLRPCParameters = [parameters retain];
+       }
+}
+
+#pragma mark -
+
+- (NSString *)method {
+       return currentXMLRPCMethod;
+}
+
+- (NSArray *)parameters {
+       return currentXMLRPCParameters;
+}
+
+#pragma mark -
+
+- (NSString *)encoderSourceXML {
+       if (encoderSourceXML != nil) {
+               [encoderSourceXML release];
+       }
+       
+       encoderSourceXML = [[self encode] retain];
+       
+       return encoderSourceXML;
+}
+
+#pragma mark -
+
+- (void)dealloc {
+       [currentXMLRPCMethod release];
+       [encoderSourceXML release];
+       [currentXMLRPCParameters release];
+       
+       [super dealloc];
+}
+
+@end
+
+#pragma mark -
+
+@implementation XMLRPCEncoder (XMLRPCEncoderPrivate)
+
+- (NSString *)valueTag: (NSString *)tag value: (NSString *)value {
+       return [NSString stringWithFormat: @"<value><%@>%@</%@></value>", tag, [self escapeValue: value], tag];
+}
+
+#pragma mark -
+
+- (NSString *)replaceTarget: (NSString *)target withValue: (NSString *)value inString: (NSString *)string {
+       return [[string componentsSeparatedByString: target] componentsJoinedByString: value];  
+}
+
+- (NSString *)escapeValue: (NSString *)value {
+       value = [self replaceTarget: @"&" withValue: @"&amp;" inString: value];
+       value = [self replaceTarget: @"<" withValue: @"&lt;" inString: value];
+       
+       return value;
+}
+
+#pragma mark -
+
+- (NSString *)encodeObject: (id)object {
+       if (object == nil) {
+               return nil;
+       }
+       
+       if ([object isKindOfClass: [NSArray class]]) {
+               return [self encodeArray: object];
+       } else if ([object isKindOfClass: [NSDictionary class]]) {
+               return [self encodeDictionary: object];
+       } else if (((CFBooleanRef)object == kCFBooleanTrue) || ((CFBooleanRef)object == kCFBooleanFalse)) {
+               return [self encodeBoolean: (CFBooleanRef)object];
+       } else if ([object isKindOfClass: [NSNumber class]]) {
+               return [self encodeNumber: object];
+       } else if ([object isKindOfClass: [NSString class]]) {
+               return [self encodeString: object];
+       } else if ([object isKindOfClass: [NSDate class]]) {
+               return [self encodeDate: object];
+       } else if ([object isKindOfClass: [NSData class]]) {
+               return [self encodeData: object];
+       } else {
+               return [self encodeString: object];
+       }
+}
+
+#pragma mark -
+
+- (NSString *)encodeArray: (NSArray *)array {
+       NSMutableString *buffer = [NSMutableString string];
+       NSEnumerator *enumerator = [array objectEnumerator];
+       
+       [buffer appendString: @"<value><array><data>"];
+       
+       id object = nil;
+       
+       while (object = [enumerator nextObject]) {
+               [buffer appendString: [self encodeObject: object]];
+       }
+       
+       [buffer appendString: @"</data></array></value>"];
+       
+       return (NSString *)buffer;
+}
+
+- (NSString *)encodeDictionary: (NSDictionary *)dictionary {
+       NSMutableString * buffer = [NSMutableString string];
+       NSEnumerator *enumerator = [dictionary keyEnumerator];
+       
+       [buffer appendString: @"<value><struct>"];
+       
+       NSString *key = nil;
+       
+       while (key = [enumerator nextObject]) {
+               [buffer appendString: @"<member>"];
+               [buffer appendFormat: @"<name>%@</name>", key];
+               [buffer appendString: [self encodeObject: [dictionary objectForKey: key]]];
+               [buffer appendString: @"</member>"];
+       }
+       
+       [buffer appendString: @"</struct></value>"];
+       
+       return (NSString *)buffer;
+}
+
+#pragma mark -
+
+- (NSString *)encodeBoolean: (CFBooleanRef)boolean {
+       if (boolean == kCFBooleanTrue) {
+               return [self valueTag: @"boolean" value: @"1"];
+       } else {
+               return [self valueTag: @"boolean" value: @"0"];
+       }
+}
+
+- (NSString *)encodeNumber: (NSNumber *)number {
+       return [self valueTag: @"i4" value: [number stringValue]];
+}
+
+- (NSString *)encodeString: (NSString *)string {
+       return [self valueTag: @"string" value: string];
+}
+
+- (NSString *)encodeDate: (NSDate *)date {
+       NSString *buffer = [date descriptionWithCalendarFormat: @"%Y%m%dT%H:%M:%S"
+               timeZone: nil locale: nil];
+
+       return [self valueTag: @"dateTime.iso8601" value: buffer];
+}
+
+- (NSString *)encodeData: (NSData *)data {
+       NSString *buffer = [NSString base64StringFromData: data
+               length: [data length]];
+
+       return [self valueTag: @"base64" value: buffer];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.h
new file mode 100644 (file)
index 0000000..3b0af91
--- /dev/null
@@ -0,0 +1,73 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCRequest.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/Foundation.h>
+
+@class XMLRPCEncoder;
+
+@interface XMLRPCRequest : NSObject {
+       NSMutableURLRequest *mutableRequest;
+       XMLRPCEncoder *requestXMLEncoder;
+}
+
+- (id)initWithHost: (NSURL *)host;
+
+#pragma mark -
+
+- (void)setHost: (NSURL *)host;
+- (NSURL *)host;
+
+#pragma mark -
+
+- (void)setUserAgent: (NSString *)userAgent;
+- (NSString *)userAgent;
+
+#pragma mark -
+
+- (void)setMethod: (NSString *)method;
+
+- (void)setMethod: (NSString *)method withParameter: (id)parameter;
+
+- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters;
+
+#pragma mark -
+
+- (NSString *)method;
+- (NSArray *)parameters;
+
+#pragma mark -
+
+- (NSString *)requestSourceXML;
+
+#pragma mark -
+
+- (NSURLRequest *)request;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCRequest.m
new file mode 100644 (file)
index 0000000..b0208c8
--- /dev/null
@@ -0,0 +1,142 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCRequest.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "XMLRPCRequest.h"
+#import "XMLRPCEncoder.h"
+
+@implementation XMLRPCRequest
+
+- (id)initWithHost: (NSURL *)host {
+       if (self = [super init]) {
+               if (host != nil) {
+                       mutableRequest = [[NSMutableURLRequest alloc] initWithURL: host];
+               } else {
+                       mutableRequest = [[NSMutableURLRequest alloc] init];
+               }
+               
+               requestXMLEncoder = [[XMLRPCEncoder alloc] init];
+       }
+       
+       return self;
+}
+
+#pragma mark -
+
+- (void)setHost: (NSURL *)host {
+       [mutableRequest setURL: host];
+}
+
+- (NSURL *)host {
+       return [mutableRequest URL];
+}
+
+#pragma mark -
+
+- (void)setUserAgent: (NSString *)userAgent {
+       if ([self userAgent] == nil) {
+               [mutableRequest addValue: userAgent forHTTPHeaderField: @"User-Agent"];
+       } else {
+               [mutableRequest setValue: userAgent forHTTPHeaderField: @"User-Agent"];
+       }
+}
+
+- (NSString *)userAgent {
+       return [mutableRequest valueForHTTPHeaderField: @"User-Agent"];
+}
+
+#pragma mark -
+
+- (void)setMethod: (NSString *)method {
+       [requestXMLEncoder setMethod: method withParameters: nil];
+}
+
+- (void)setMethod: (NSString *)method withParameter: (id)parameter {
+       [requestXMLEncoder setMethod: method withParameters: [NSArray arrayWithObject: parameter]];
+}
+
+- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters {
+       [requestXMLEncoder setMethod: method withParameters: parameters];
+}
+
+#pragma mark -
+
+- (NSString *)method {
+       return [requestXMLEncoder method];
+}
+
+- (NSArray *)parameters {
+       return [requestXMLEncoder parameters];
+}
+
+#pragma mark -
+
+- (NSString *)requestSourceXML {
+       return [requestXMLEncoder encoderSourceXML];
+}
+
+#pragma mark -
+
+- (NSURLRequest *)request {
+       NSData *request = [[requestXMLEncoder encode] dataUsingEncoding: NSUTF8StringEncoding];
+       NSNumber *contentLength = [NSNumber numberWithInt: [request length]];
+       
+       if (request == nil) {
+               return nil;
+       }
+       
+       [mutableRequest setHTTPMethod: @"POST"];
+       
+       if ([mutableRequest valueForHTTPHeaderField: @"Content-Length"] == nil) {
+               [mutableRequest addValue: @"text/xml" forHTTPHeaderField: @"Content-Type"];
+       } else {
+               [mutableRequest setValue: @"text/xml" forHTTPHeaderField: @"Content-Type"];
+       }
+       
+       if ([mutableRequest valueForHTTPHeaderField: @"Content-Length"] == nil) {
+               [mutableRequest addValue: [contentLength stringValue] forHTTPHeaderField: @"Content-Length"];
+       } else {
+               [mutableRequest setValue: [contentLength stringValue] forHTTPHeaderField: @"Content-Length"];
+       }
+       
+       [mutableRequest setHTTPBody: request];
+       
+       return (NSURLRequest *)mutableRequest;
+}
+
+#pragma mark -
+
+- (void)dealloc {
+       [mutableRequest release];
+       [requestXMLEncoder release];
+       
+       [super dealloc];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.h b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.h
new file mode 100644 (file)
index 0000000..71577c2
--- /dev/null
@@ -0,0 +1,60 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCResponse.h
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import <Foundation/Foundation.h>
+
+@class XMLRPCDecoder;
+
+@interface XMLRPCResponse : NSObject {
+       NSData *responseXMLData;
+       NSString *responseSourceXML;
+       id responseObject;
+       BOOL isFault;
+}
+
+- (id)initWithData: (NSData *)data;
+
+#pragma mark -
+
+- (BOOL)isFault;
+
+- (NSNumber *)faultCode;
+
+- (NSString *)faultString;
+
+#pragma mark -
+
+- (id)responseObject;
+
+#pragma mark -
+
+- (NSString *)responseSourceXML;
+
+@end
diff --git a/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.m b/ApertureToAnselExportPlugin/xmlrpc-1.5.1/XMLRPCResponse.m
new file mode 100644 (file)
index 0000000..8ef331e
--- /dev/null
@@ -0,0 +1,105 @@
+// 
+// Copyright 2008 Eric Czarny <eczarny@gmail.com>
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of  this  software  and  associated documentation files (the "Software"), to
+// deal  in  the Software without restriction, including without limitation the
+// rights  to  use,  copy,  modify,  merge,  publish,  distribute,  sublicense,
+// and/or sell copies  of  the  Software,  and  to  permit  persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+// 
+// The  above  copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+// 
+// THE  SOFTWARE  IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED,  INCLUDING  BUT  NOT  LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS  OR  COPYRIGHT  HOLDERS  BE  LIABLE  FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY,  WHETHER  IN  AN  ACTION  OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+// 
+
+// 
+// Cocoa XML-RPC Framework
+// XMLRPCResponse.m
+// 
+// Created by Eric Czarny on Wednesday, January 14, 2004.
+// Copyright 2008 Divisible by Zero.
+// 
+
+#import "XMLRPCResponse.h"
+#import "XMLRPCDecoder.h"
+
+@implementation XMLRPCResponse
+
+- (id)initWithData: (NSData *)data
+{
+       if (data == nil) {
+               return nil;
+       }
+
+       if (self = [super init]) {
+               XMLRPCDecoder *responseXMLDecoder =[[XMLRPCDecoder alloc] initWithData: data];
+               
+               if (responseXMLDecoder == nil) {
+                       return nil;
+               }
+       
+               responseXMLData = [[NSData alloc] initWithData: data];
+               responseSourceXML = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
+               responseObject = [[responseXMLDecoder decode] retain];
+               
+               isFault = [responseXMLDecoder isFault];
+               
+               [responseXMLDecoder release];
+       }
+       
+       return self;
+}
+
+#pragma mark -
+
+- (BOOL)isFault {
+       return isFault;
+}
+
+- (NSNumber *)faultCode {
+       if (isFault) {
+               return [responseObject objectForKey: @"faultCode"];
+       }
+       
+       return nil;
+}
+
+- (NSString *)faultString {
+       if (isFault) {
+               return [responseObject objectForKey: @"faultString"];
+       }
+       
+       return nil;
+}
+
+#pragma mark -
+
+- (id)responseObject {
+       return responseObject;
+}
+
+#pragma mark -
+
+- (NSString *)responseSourceXML {
+       return responseSourceXML;
+}
+
+#pragma mark -
+
+- (void)dealloc {
+       [responseXMLData release];
+       [responseSourceXML release];
+       [responseObject release];
+       
+       [super dealloc];
+}
+
+@end