]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
macos: update AFS prefs pane
authorDerrick Brashear <shadow@dementix.org>
Wed, 18 Apr 2012 15:57:10 +0000 (11:57 -0400)
committerDerrick Brashear <shadow@dementix.org>
Mon, 28 May 2012 14:47:08 +0000 (07:47 -0700)
modify afshelper to just run what it's told instead
of offering fixed operations. this avoids having a setuid
tool around. in spite of apple's suggestion this is correct,
it's actually more dangerous. instead, elevate privilege only
to run a small set of commands, then drop. allow
unlocking of the prefs pane, but make the menu extra prompt
for authentication when needed.
deactivate controls in the prefs pane when locked.

Reviewed-on: http://gerrit.openafs.org/7196
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 0524e0d1915f519a76d62540b695abc16634d4c9)

Change-Id: Iba4435829a57e91e45b0beea10a8d6573b62a214
Reviewed-on: http://gerrit.openafs.org/7495
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
16 files changed:
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSBackgrounderDelegate.h
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSBackgrounderDelegate.m
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSMenuExtra.h
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSMenuExtra.m
src/platform/DARWIN/AFSPreference/AFSBackgrounder/AFSMenuExtraView.h
src/platform/DARWIN/AFSPreference/AFSCommanderPref.h
src/platform/DARWIN/AFSPreference/AFSCommanderPref.m
src/platform/DARWIN/AFSPreference/AFSPropertyManager.h
src/platform/DARWIN/AFSPreference/AFSPropertyManager.m
src/platform/DARWIN/AFSPreference/English.lproj/OpenAFSPreference.xib
src/platform/DARWIN/AFSPreference/IpConfiguratorCommander.m
src/platform/DARWIN/AFSPreference/PListManager.h
src/platform/DARWIN/AFSPreference/PListManager.m
src/platform/DARWIN/AFSPreference/TaskUtil.h
src/platform/DARWIN/AFSPreference/TaskUtil.m
src/platform/DARWIN/AFSPreference/afshlp.m

index c4799c6cf69b025ff17f188755516f4cf3c5cb52..371ac823dcac850e6c0cc57bd5e41d4fb8b17b54 100644 (file)
@@ -65,7 +65,6 @@
 - (NSImage*)getImageFromBundle:(NSString*)fileName fileExt:(NSString*)ext;
 - (NSImage*)imageToRender;
 - (void)menuNeedsUpdate:(NSMenu *)menu;
-- (void)repairHelperTool;
 - (void) afsVolumeMountChange:(NSNotification *)notification;
 - (void) updateLinkModeStatusWithpreferenceStatus:(BOOL)status;
 -(NSStatusItem*)statusItem;
index 94bef26a27c035b645b0926af4ce2beb027ae78c..d2d81face4944efff419d2cd2f5567dcfa3196b8 100644 (file)
 - (void)startStopAfs:(id)sender
 {
        @try {
-               BOOL currentAfsState = NO;
+           BOOL currentAfsState = NO;
+           OSErr status = [[AuthUtil shared] autorize];
+           if(status == noErr){
                currentAfsState = [afsMngr checkAfsStatus];
                // make the parameter to call the root helper app
                if(currentAfsState){
-                       //shutdown afs
-                       NSLog(@"Shutting down afs");
-                       [afsMngr shutdown];
+                   //shutdown afs
+                   NSLog(@"Shutting down afs");
+                   [afsMngr shutdown];
                } else {
-                       //Start afs
-                       NSLog(@"Starting up afs");
-                       [afsMngr startup];
+                   //Start afs
+                   NSLog(@"Starting up afs");
+                   [afsMngr startup];
                }
+           }
        }@catch (NSException * e) {
                NSLog(@"error %@", [e reason]);
        }@finally {
                [self updateAfsStatus:nil];
+               [[AuthUtil shared] deautorize];
                //Send notification to preferencepane
                [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAfsCommanderID object:kMenuExtraEventOccured];
        }
        else return NSOffState;
 }
 
-// -------------------------------------------------------------------------------
-//  repairHelperTool:
-// -------------------------------------------------------------------------------
-- (void) repairHelperTool
-{
-       struct stat st;
-    int fdTool;
-       int status = 0; 
-       NSString *afshlpPath = [[NSBundle mainBundle] pathForResource:@"afshlp" ofType:nil];
-       
-       
-    
-    // Open tool exclusively, so nobody can change it while we bless it.
-    fdTool = open([afshlpPath UTF8String], O_NONBLOCK | O_RDONLY | O_EXLOCK, 0);
-    
-    if(fdTool == -1)
-    {
-        NSLog(@"Exclusive open while repairing tool failed: %d.", errno);
-        exit(-1);
-    }
-    
-    if(fstat(fdTool, &st))
-    {
-        NSLog(@"fstat failed.");
-        exit(-1);
-    }
-    
-    if(st.st_uid != 0)
-    {
-               status = [[AuthUtil shared] autorize];
-               if(status == noErr){
-                       fchown(fdTool, 0, st.st_gid);
-                       
-                       // Disable group and world writability and make setuid root.
-                       fchmod(fdTool, (st.st_mode & (~(S_IWGRP | S_IWOTH)))/* | S_ISUID*/);
-                       const char *args[] = {"root", [afshlpPath UTF8String],0L};
-                       [[AuthUtil shared] execUnixCommand:"/usr/sbin/chown" 
-                                                                                 args:args
-                                                                               output:nil];
-                       [[AuthUtil shared] deautorize];
-               }
-    } else  NSLog(@"st_uid = 0");
-    close(fdTool);
-    NSLog(@"Self-repair done.");
-       
-}
-
 #pragma mark accessor
 // -------------------------------------------------------------------------------
 //  statusItem
index 1c41e242f44774daafb828961d40b51aaac1d7d6..54487b38d70f370349029e9c0352e96a337bba87 100644 (file)
@@ -52,6 +52,5 @@
 - (NSImage*)getImageFromBundle:(NSString*)fileName fileExt:(NSString*)ext;
 - (NSImage*)imageToRender;
 - (void)updateMenu;
-- (void)repairHelperTool;
 - (void) afsVolumeMountChange:(NSNotification *)notification;
 @end
index 0073a31e8df60c9d77a313ed2b05dacbd5c04161..38168621d4a31d1d4d7230dbf59640e3ec57bbed 100644 (file)
        [self updateAfsStatus:nil];
 }
 
-// -------------------------------------------------------------------------------
-//  -(void) readPreferenceFile
-// -------------------------------------------------------------------------------
-- (void)startStopAfs:(id)sender
-{
-       if(!afsSysPath) return;
-       
-       OSStatus status = noErr;
-       NSString *afsdPath = [TaskUtil searchExecutablePath:@"afsd"];
-       NSString *rootHelperApp = nil;
-       BOOL currentAfsState = NO;
-       
-       @try {
-               if(afsdPath == nil) return;
-               AFSPropertyManager *afsMngr = [[AFSPropertyManager alloc] initWithAfsPath:afsSysPath];
-               currentAfsState = [afsMngr checkAfsStatus];
-               [afsMngr release];
-               
-               rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
-
-               //Check helper app
-               [self repairHelperTool];
-               
-               // make the parameter to call the root helper app
-               status = [[AuthUtil shared] autorize];
-               if(status == noErr){
-                       if(currentAfsState){
-                               //shutdown afs
-                               NSMutableString *afsKextPath = [[NSMutableString alloc] initWithCapacity:256];
-                               [afsKextPath setString:afsSysPath];
-                               [afsKextPath appendString:@"/etc/afs.kext"];
-                               
-                               const char *stopAfsArgs[] = {"stop_afs", [afsKextPath  UTF8String], [afsdPath UTF8String], 0L};
-                               [[AuthUtil shared] execUnixCommand:[rootHelperApp UTF8String] 
-                                                                                         args:stopAfsArgs
-                                                                                       output:nil];
-                       } else {
-                               const char *startAfsArgs[] = {[[[self bundle] pathForResource:@"start_afs" ofType:@"sh"]  UTF8String], [afsSysPath UTF8String], [afsdPath UTF8String], 0L};
-                               [[AuthUtil shared] execUnixCommand:[rootHelperApp UTF8String] 
-                                                                                         args:startAfsArgs
-                                                                                       output:nil];
-                       }
-               }
-       }
-       @catch (NSException * e) {
-               NSLog([e reason]);
-       }
-       @finally {
-               [[AuthUtil shared] deautorize];
-               [self updateAfsStatus:nil];
-               //Send notification to preferencepane
-               [[NSDistributedNotificationCenter defaultCenter] postNotificationName:afsCommanderID object:kMenuExtraEventOccured];
-       }
-       
-}
-
 // -------------------------------------------------------------------------------
 //  -(void) getToken
 // -------------------------------------------------------------------------------
        if(useAklogPrefValue) return [useAklogPrefValue intValue] == NSOnState; 
        else return NSOffState;
 }
-
-// -------------------------------------------------------------------------------
-//  repairHelperTool:
-// -------------------------------------------------------------------------------
-- (void) repairHelperTool
-{
-       struct stat st;
-    int fdTool;
-       int status = 0; 
-       NSString *afshlpPath = [[self bundle] pathForResource:@"afshlp" ofType:nil];
-       
-       
-    
-    // Open tool exclusively, so nobody can change it while we bless it.
-    fdTool = open([afshlpPath UTF8String], O_NONBLOCK | O_RDONLY | O_EXLOCK, 0);
-    
-    if(fdTool == -1)
-    {
-        NSLog(@"Exclusive open while repairing tool failed: %d.", errno);
-        exit(-1);
-    }
-    
-    if(fstat(fdTool, &st))
-    {
-        NSLog(@"fstat failed.");
-        exit(-1);
-    }
-    
-    if(st.st_uid != 0)
-    {
-               status = [[AuthUtil shared] autorize];
-               if(status == noErr){
-                       fchown(fdTool, 0, st.st_gid);
-                       
-                       // Disable group and world writability and make setuid root.
-                       fchmod(fdTool, (st.st_mode & (~(S_IWGRP | S_IWOTH)))/* | S_ISUID*/);
-                       const char *args[] = {"root", [afshlpPath UTF8String],0L};
-                       [[AuthUtil shared] execUnixCommand:"/usr/sbin/chown" 
-                                                                                 args:args
-                                                                               output:nil];
-                       [[AuthUtil shared] deautorize];
-               }
-    } else  NSLog(@"st_uid = 0");
-    
-       
-    
-    close(fdTool);
-    NSLog(@"Self-repair done.");
-       
-}@end
+@end
index 915dc2fc58302902a41a77d217d25c160ffd1492..6d1ce1840c5f928933bd6b06cc220e8bd9e3a5a0 100644 (file)
@@ -9,7 +9,7 @@
 #import <Cocoa/Cocoa.h>
 #import "AFSBackgrounderDelegate.h"
 
-@interface AFSMenuExtraView : NSView {
+@interface AFSMenuExtraView : NSView <NSMenuDelegate> {
        AFSBackgrounderDelegate         *backgrounderDelegator;
        NSStatusItem    *statusItem;
        NSMenu  *statusItemMenu;
index a9f1cadf526893a74348cc12ba27038e9300efd1..7666255dcc46bc055450b52b52d46c6dffe0112c 100644 (file)
@@ -7,6 +7,7 @@
 //
 
 #import <PreferencePanes/PreferencePanes.h>
+#import <SecurityInterface/SFAuthorizationView.h>
 #import "AFSPropertyManager.h"
 #import "global.h"
 #import "ViewUtility.h"
@@ -20,12 +21,13 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
 
 
 
-@interface AFSCommanderPref : NSPreferencePane 
+@interface AFSCommanderPref : NSPreferencePane <NSTableViewDataSource, NSTableViewDelegate>
 {
        //for check system version
        int prefStartUp;
        // Main View
        BOOL startAFSAtLogin;
+    IBOutlet SFAuthorizationView *authView;
        IBOutlet NSView *afsCommanderView;
        IBOutlet NSSearchField *textSearchField;
        IBOutlet NSTextField *afsDefaultCellLabel;
@@ -104,6 +106,7 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
        NSLock *tokensLock;
 }
 
+- (BOOL)isUnlocked;
 - (void) mainViewDidLoad;
 - (void) willUnselect;
 - (void) didSelect;
@@ -144,11 +147,8 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
 - (void) modifyCell:(DBCellElement*) cellElement;
 - (void) modifyCellByIDX:(int) idx;
 - (void) showMessage:(NSString*) message;
-- (void) tableViewCellmanageButtonState:(int) rowSelected;
-- (void) tableViewLinkmanageButtonState:(NSIndexSet *) rowsSelectedIndex;
 - (void) setAfsStatus;
 - (void) refreshTokens:(NSTimer*)theTimer;
-- (void) repairHelperTool;
 - (void) writePreferenceFile;
 - (void) readPreferenceFile;
 - (void) refreshGui:(NSNotification *)notification;
@@ -157,8 +157,13 @@ int CoreMenuExtraRemoveMenuExtra(void *menuExtra, int whoCares);
 - (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem;
 @end
 
+@interface AFSCommanderPref (TableDelegate)
+- (void) tableViewCellmanageButtonState:(int) rowSelected;
+- (void) tableViewLinkmanageButtonState:(NSIndexSet *) rowsSelectedIndex;
+@end;
+
 @interface AFSCommanderPref (NSTableDataSource)
 - (id) getTableTokensListValue:(int) colId row:(int)row;
 - (id) getTableCelListValue:(int) colId row:(int)row;
 - (id) getTableLinkValue:(int) colId row:(int)row;
-@end;
\ No newline at end of file
+@end;
index dcc7344b05f1356e1d93ebbad61630bd58e9616e..dd6d9bfde806005391e363e04e5d5c28c5f1af2d 100644 (file)
@@ -58,7 +58,7 @@
 {
     if ( ( self = [super initWithBundle:bundle] ) != nil ) {
         //appID = kAfsCommanderID;
-               prefStartUp = 1;
+       prefStartUp = 1;
     }
     return self;
 }
 //  mainView:
 // -------------------------------------------------------------------------------
 - (NSView *) mainView {
-       if (prefStartUp == 1){
-               SInt32 osxMJVers = 0;
-               SInt32 osxMnVers = 0;
-               if (Gestalt(gestaltSystemVersionMajor, &osxMJVers) == noErr && Gestalt(gestaltSystemVersionMinor, &osxMnVers) == noErr) {
-                       if (osxMJVers == 10 && osxMnVers>= 5) {
-                               [afsCommanderView  setFrameSize:NSMakeSize(668, [afsCommanderView frame].size.height)];
+    if (prefStartUp == 1){
+       SInt32 osxMJVers = 0;
+       SInt32 osxMnVers = 0;
+       if (Gestalt(gestaltSystemVersionMajor, &osxMJVers) == noErr && Gestalt(gestaltSystemVersionMinor, &osxMnVers) == noErr) {
+           if (osxMJVers == 10 && osxMnVers>= 5) {
+               [afsCommanderView  setFrameSize:NSMakeSize(668, [afsCommanderView frame].size.height)];
                 prefStartUp = 0;
-                       }
-               }
+           }
        }
+    }
        
     return afsCommanderView;
 }
 // -------------------------------------------------------------------------------
 - (void) mainViewDidLoad
 {
-       //CellServDB Table
-       [((NSTableView*)cellList) setDelegate:self];
-       [((NSTableView*)cellList) setTarget:self];
-       [((NSTableView*)cellList) setDoubleAction:@selector(tableDoubleAction:)];
-       
-       
+    //CellServDB Table
+    [cellList setDelegate:self];
+    [cellList setTarget:self];
+    [cellList setDoubleAction:@selector(tableDoubleAction:)];
+
+    // Setup security.
+    AuthorizationItem items = {kAuthorizationRightExecute, 0, NULL, 0};
+    AuthorizationRights rights = {1, &items};
+    [authView setAuthorizationRights:&rights];
+    authView.delegate = self;
+    [authView updateStatus:nil];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void) didSelect
 {
-       //try to install the launchd file for backgrounder
-       //Remove launchd ctrl file
-       @try {
-               [PListManager installBackgrounderLaunchdFile:YES 
-                                                                               resourcePath:[[self bundle] resourcePath]];
-       }
-       @catch (NSException * e) {
-               NSDictionary *excecptDic = [e userInfo];
-               NSNumber *keyNum = [excecptDic objectForKey:@"agent_folder_error"];
-               if(keyNum && [keyNum boolValue]) {
-                       // the dir HOME_LAUNCHD_AGENT_FOLDER (PListManager.h) must be created
-                       NSBeginAlertSheet([[NSString stringWithString:kDoYouWantCreateTheDirectory] stringByAppendingString:HOME_LAUNCHD_AGENT_FOLDER],
-                                                         @"Create", @"Cancel", nil,                                                                            
-                                                         [[self mainView] window],     self, @selector(credentialAtLoginTimeEventCreationLaunchAgentDir:returnCode:contextInfo:), NULL, 
-                                                         nil, @"", nil);
-               }
-       }
-       @finally {
-               
+    //try to install the launchd file for backgrounder
+    //Remove launchd ctrl file
+    @try {
+       [PListManager installBackgrounderLaunchdFile:YES
+                     resourcePath:[[self bundle] resourcePath]];
+    }
+    @catch (NSException * e) {
+       NSDictionary *excecptDic = [e userInfo];
+       NSNumber *keyNum = [excecptDic objectForKey:@"agent_folder_error"];
+       if(keyNum && [keyNum boolValue]) {
+           // the dir HOME_LAUNCHD_AGENT_FOLDER (PListManager.h) must be created
+           NSBeginAlertSheet([[NSString stringWithString:kDoYouWantCreateTheDirectory] stringByAppendingString:HOME_LAUNCHD_AGENT_FOLDER],
+                             @"Create", @"Cancel", nil,
+                             [[self mainView] window], self, @selector(credentialAtLoginTimeEventCreationLaunchAgentDir:returnCode:contextInfo:), NULL,
+                             nil, @"", nil);
        }
+    }
+    @finally {
        
-       
-       // Set Developer info
-       [textFieldDevInfoLabel setStringValue:kDevelopInfo];
-       // creating the lock
-       tokensLock = [[NSLock alloc] init];
-       
-       //Initialization cellservdb and token list
-       filteredCellDB = nil;
-       tokenList = nil;
-       
-       [self readPreferenceFile];
-                       
-       // alloc the afs property mananger
-       afsProperty = [[AFSPropertyManager alloc] init];
-       
-       // register preference pane to detect menuextra killed by user
-       [[NSDistributedNotificationCenter defaultCenter] addObserver:self
-                                                                                                               selector:@selector(refreshTokensNotify:)
-                                                                                                                       name:kAfsCommanderID
-                                                                                                                 object:kMExtraTokenOperation];
-        
-       [[NSDistributedNotificationCenter defaultCenter] addObserver:self 
-                                                                                                               selector:@selector(refreshGui:) 
-                                                                                                                       name:kAfsCommanderID 
-                                                                                                                 object:kMenuExtraEventOccured];
-       
-       //Register for mount/unmount afs volume
-       [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self 
-                                                                                                                  selector:@selector(afsVolumeMountChange:) 
-                                                                                                                          name:NSWorkspaceDidMountNotification object:nil];
-       
-       [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self 
-                                                                                                                  selector:@selector(afsVolumeMountChange:) 
-                                                                                                                          name:NSWorkspaceDidUnmountNotification object:nil];
-       
-       // set self as table data source
-       [cellList setDataSource:self];
-       [tokensTable setDataSource:self];
-       //[tableViewLink setDataSource:self];
-       //check the afs state
-       [self setAfsStatus];
-       
-       // let show the configuration after prefpane is open
-       [self refreshConfiguration:nil];
-       
-       // refresh the token list
-       //[self refreshTokens:nil];
-       
-       //refresh table to reflect the NSSearchField contained text
-       [self searchCellTextEvent:nil];
+    }
+
+
+    // Set Developer info
+    [textFieldDevInfoLabel setStringValue:kDevelopInfo];
+    // creating the lock
+    tokensLock = [[NSLock alloc] init];
+
+    //Initialization cellservdb and token list
+    filteredCellDB = nil;
+    tokenList = nil;
+
+    [self readPreferenceFile];
+
+    // alloc the afs property mananger
+    afsProperty = [[AFSPropertyManager alloc] init];
+
+    // register preference pane to detect menuextra killed by user
+    [[NSDistributedNotificationCenter defaultCenter] addObserver:self
+                                                    selector:@selector(refreshTokensNotify:)
+                                                    name:kAfsCommanderID
+                                                    object:kMExtraTokenOperation];
+
+    [[NSDistributedNotificationCenter defaultCenter] addObserver:self
+                                                    selector:@selector(refreshGui:)
+                                                    name:kAfsCommanderID
+                                                    object:kMenuExtraEventOccured];
+
+    //Register for mount/unmount afs volume
+    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
+                                                       selector:@selector(afsVolumeMountChange:)
+                                                       name:NSWorkspaceDidMountNotification object:nil];
+
+    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
+                                                       selector:@selector(afsVolumeMountChange:)
+                                                       name:NSWorkspaceDidUnmountNotification object:nil];
+
+    // set self as table data source
+    [cellList setDataSource:self];
+    [tokensTable setDataSource:self];
+    //[tableViewLink setDataSource:self];
+    //check the afs state
+    [self setAfsStatus];
+
+    // let show the configuration after prefpane is open
+    [self refreshConfiguration:nil];
+
+    // refresh the token list
+    //[self refreshTokens:nil];
+
+    //refresh table to reflect the NSSearchField contained text
+    [self searchCellTextEvent:nil];
 }
 
 // -------------------------------------------------------------------------------
 //  credentialAtLoginTimeEventCreationLaunchAgentDir:
 // -------------------------------------------------------------------------------
 - (void) credentialAtLoginTimeEventCreationLaunchAgentDir:(NSWindow*)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo {
-       [alert close];
-       switch (returnCode) {
-               case  1:
-                       if([[NSFileManager defaultManager] createDirectoryAtPath:[HOME_LAUNCHD_AGENT_FOLDER stringByExpandingTildeInPath] 
-                                                                                withIntermediateDirectories:NO
-                                                                                                                 attributes:nil
-                                                                                                                          error:nil]) {
-                               
-                               //Create the file
-                               [PListManager installBackgrounderLaunchdFile:YES
-                                                                                               resourcePath:[[self bundle] resourcePath]];
-                               [self showMessage:kDirectoryCreated];
-                       } else {
-                               [self showMessage:kErrorCreatingDirectory];
-                       }
-                       break;
-               case 0:
-                       break;
+    [alert close];
+    switch (returnCode) {
+    case  1:
+       if([[NSFileManager defaultManager] createDirectoryAtPath:[HOME_LAUNCHD_AGENT_FOLDER stringByExpandingTildeInPath]
+                                          withIntermediateDirectories:NO
+                                          attributes:nil
+                                          error:nil]) {
+
+           //Create the file
+           [PListManager installBackgrounderLaunchdFile:YES
+                         resourcePath:[[self bundle] resourcePath]];
+           [self showMessage:kDirectoryCreated];
+       } else {
+           [self showMessage:kErrorCreatingDirectory];
        }
+       break;
+    case 0:
+       break;
+    }
 }
 
 
 // -------------------------------------------------------------------------------
 - (void)willUnselect
 {
-       // remove self as datasource
-       [((NSTableView*)cellList) setDataSource:nil];
-       [((NSTableView*)tokensTable) setDataSource:nil];
-
-       //release the afs property manager
-       if(afsProperty) [afsProperty release];
-       //release tokens list
-       if(tokenList) [tokenList release];      
-       //Remove the cell temp array
-       if(filteredCellDB) [filteredCellDB release];
-       
-       [self writePreferenceFile];
-       
-       // unregister preference pane to detect menuextra killed by user
-       [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
-                                                                                                                          name:kAfsCommanderID
-                                                                                                                        object:kMExtraClosedNotification];
-       [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
-                                                                                                                          name:kAfsCommanderID
-                                                                                                                        object:kMExtraTokenOperation];
-       [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
-                                                                                                                          name:kAfsCommanderID
-                                                                                                                        object:kMenuExtraEventOccured];
-       [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self 
-                                                                                                                                 name:NSWorkspaceDidMountNotification object:nil];
-       [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self 
-                                                                                                                                 name:NSWorkspaceDidUnmountNotification object:nil];
-       
-       [self stopTimer];
-       [tokensLock release];
+    // remove self as datasource
+    [cellList setDataSource:nil];
+    [tokensTable setDataSource:nil];
+
+    //release the afs property manager
+    if(afsProperty) [afsProperty release];
+    //release tokens list
+    if(tokenList) [tokenList release];
+    //Remove the cell temp array
+    if(filteredCellDB) [filteredCellDB release];
+
+    [self writePreferenceFile];
+
+    // unregister preference pane to detect menuextra killed by user
+    [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
+                                                    name:kAfsCommanderID
+                                                    object:kMExtraClosedNotification];
+    [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
+                                                    name:kAfsCommanderID
+                                                    object:kMExtraTokenOperation];
+    [[NSDistributedNotificationCenter defaultCenter] removeObserver:self
+                                                    name:kAfsCommanderID
+                                                    object:kMenuExtraEventOccured];
+    [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self
+                                                       name:NSWorkspaceDidMountNotification object:nil];
+    [[[NSWorkspace sharedWorkspace] notificationCenter] removeObserver:self
+                                                       name:NSWorkspaceDidUnmountNotification object:nil];
+
+    [self stopTimer];
+    [tokensLock release];
 }
 
 
 //  startTimer:
 // -------------------------------------------------------------------------------
 - (void)startTimer{
-       //start the time for check tokens validity
-       if(timerForCheckTokensList) return;
-       timerForCheckTokensList = [NSTimer scheduledTimerWithTimeInterval:TOKENS_REFRESH_TIME_IN_SEC 
-                                                                                                                          target:self 
-                                                                                                                        selector:@selector(refreshTokens:) 
-                                                                                                                        userInfo:nil 
-                                                                                                                         repeats:YES];
-       [timerForCheckTokensList fire]; 
+    //start the time for check tokens validity
+    if(timerForCheckTokensList) return;
+    timerForCheckTokensList = [NSTimer scheduledTimerWithTimeInterval:TOKENS_REFRESH_TIME_IN_SEC
+                                      target:self
+                                      selector:@selector(refreshTokens:)
+                                      userInfo:nil
+                                      repeats:YES];
+    [timerForCheckTokensList fire];
 }
 
 // -------------------------------------------------------------------------------
 //  stopTimer:
 // -------------------------------------------------------------------------------
 - (void)stopTimer{
-       if(!timerForCheckTokensList) return;
-       [timerForCheckTokensList invalidate];   
-       timerForCheckTokensList = nil;
+    if(!timerForCheckTokensList) return;
+    [timerForCheckTokensList invalidate];
+    timerForCheckTokensList = nil;
 }
 
 
 // -------------------------------------------------------------------------------
 - (void) readPreferenceFile
 {
-       // read the preference for aklog use
-       NSNumber *useAklogPrefValue = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_USE_AKLOG, (CFStringRef)kAfsCommanderID,  
-                                                                                                                                       kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       NSNumber *aklogTokenAtLogin = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN, (CFStringRef)kAfsCommanderID,  
-                                                                                                                                       kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       [useAklogCheck setState:[useAklogPrefValue intValue]];
-       [aklogCredentialAtLoginTime setEnabled:useAklogPrefValue && [useAklogPrefValue boolValue]];
-       [aklogCredentialAtLoginTime setState:aklogTokenAtLogin && [aklogTokenAtLogin boolValue]];
-
-       //check krb5 at login time
-       [installKRB5AuthAtLoginButton setState:[PListManager checkKrb5AtLoginTimeLaunchdEnable]];
-
-       //check for AFS enable at startup
-       NSNumber *afsEnableStartupTime = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_START_AFS_AT_STARTUP,
-                                                                                                                                          (CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
-       if(afsEnableStartupTime)
-               startAFSAtLogin = [afsEnableStartupTime boolValue];
-       else 
-               startAFSAtLogin = false;
-       //set the check button state
-       [checkButtonAfsAtBootTime setState:startAFSAtLogin];
-       
-       NSNumber *showStatusMenu =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       [(NSButton*)afsMenucheckBox setState: [showStatusMenu boolValue]];
-       
-       //backgrounder state
-       [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
-       
-       //link enabled status
-       NSNumber *linkEnabledStatus =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_USE_LINK,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       [checkEnableLink setState:[linkEnabledStatus boolValue]];
-       
-       //check the user preference for manage the renew
-       NSNumber *checkRenew =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_CHECK_ENABLE,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       if(checkRenew)[nsButtonEnableDisableKrb5RenewCheck setState:[checkRenew intValue]];
-
-       NSNumber *renewTime = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_RENEW_TIME,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       if(!renewTime) renewTime = [NSNumber numberWithInt:PREFERENCE_KRB5_RENEW_TIME_DEFAULT_VALUE];
-
-               //update gui
-       NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
-       NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) 
-                                                                                                          fromDate:[NSDate dateWithTimeIntervalSince1970:[renewTime intValue]]];
-       [nsTextFieldKrb5RenewTimeD setIntValue:[weekdayComponents day]-1];
-       [nsTextFieldKrb5RenewTimeH setIntValue:[weekdayComponents hour]-1];
-       [nsTextFieldKrb5RenewTimeM setIntValue:[weekdayComponents minute]];
-       [nsTextFieldKrb5RenewTimeS setIntValue:[weekdayComponents second]];
-       [nsStepperKrb5RenewTimeD setIntValue:[weekdayComponents day]-1];
-       [nsStepperKrb5RenewTimeH setIntValue:[weekdayComponents hour]-1];
-       [nsStepperKrb5RenewTimeM setIntValue:[weekdayComponents minute]];
-       [nsStepperKrb5RenewTimeS setIntValue:[weekdayComponents second]];
-
-       NSNumber *renewCheckTimeInterval = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       if(renewCheckTimeInterval && [renewCheckTimeInterval intValue])[nsTextFieldKrb5RenewCheckIntervall setIntValue:[renewCheckTimeInterval intValue]];
-       else [nsTextFieldKrb5RenewCheckIntervall setIntValue:PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL_DEFAULT_VALUE];
-
-       NSNumber *expireTimeForRenew = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       if(expireTimeForRenew && [expireTimeForRenew intValue])[nsTextFieldKrb5SecToExpireDateForRenew setIntValue:[expireTimeForRenew intValue]];
-       else [nsTextFieldKrb5SecToExpireDateForRenew setIntValue:PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW_DEFAULT_VALUE];
-
-       //link configuration
-       NSData *prefData = (NSData*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_LINK_CONFIGURATION,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       linkConfiguration = (NSMutableDictionary*)[NSPropertyListSerialization propertyListFromData:prefData
-                                                                                                                                                          mutabilityOption:NSPropertyListMutableContainers
-                                                                                                                                                                                format:nil
-                                                                                                                                                          errorDescription:nil];
-       
+    // read the preference for aklog use
+    NSNumber *useAklogPrefValue = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_USE_AKLOG, (CFStringRef)kAfsCommanderID,
+                                                                   kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    NSNumber *aklogTokenAtLogin = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN, (CFStringRef)kAfsCommanderID,
+                                                                   kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    [useAklogCheck setState:[useAklogPrefValue intValue]];
+    [aklogCredentialAtLoginTime setEnabled:useAklogPrefValue && [useAklogPrefValue boolValue]];
+    [aklogCredentialAtLoginTime setState:aklogTokenAtLogin && [aklogTokenAtLogin boolValue]];
+
+    //check krb5 at login time
+    [installKRB5AuthAtLoginButton setState:[PListManager checkKrb5AtLoginTimeLaunchdEnable]];
+
+    //check for AFS enable at startup
+    NSNumber *afsEnableStartupTime = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_START_AFS_AT_STARTUP,
+                                                                      (CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+    if(afsEnableStartupTime)
+       startAFSAtLogin = [afsEnableStartupTime boolValue];
+    else
+       startAFSAtLogin = false;
+    //set the check button state
+    [checkButtonAfsAtBootTime setState:startAFSAtLogin];
+
+    NSNumber *showStatusMenu =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    [(NSButton*)afsMenucheckBox setState: [showStatusMenu boolValue]];
+
+    //backgrounder state
+    [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
+
+    //link enabled status
+    NSNumber *linkEnabledStatus =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_USE_LINK,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    [checkEnableLink setState:[linkEnabledStatus boolValue]];
+
+    //check the user preference for manage the renew
+    NSNumber *checkRenew =  (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_CHECK_ENABLE,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    if(checkRenew)[nsButtonEnableDisableKrb5RenewCheck setState:[checkRenew intValue]];
+
+    NSNumber *renewTime = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_RENEW_TIME,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    if(!renewTime) renewTime = [NSNumber numberWithInt:PREFERENCE_KRB5_RENEW_TIME_DEFAULT_VALUE];
+
+    //update gui
+    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
+    NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit)
+                                                    fromDate:[NSDate dateWithTimeIntervalSince1970:[renewTime intValue]]];
+    [nsTextFieldKrb5RenewTimeD setIntValue:[weekdayComponents day]-1];
+    [nsTextFieldKrb5RenewTimeH setIntValue:[weekdayComponents hour]-1];
+    [nsTextFieldKrb5RenewTimeM setIntValue:[weekdayComponents minute]];
+    [nsTextFieldKrb5RenewTimeS setIntValue:[weekdayComponents second]];
+    [nsStepperKrb5RenewTimeD setIntValue:[weekdayComponents day]-1];
+    [nsStepperKrb5RenewTimeH setIntValue:[weekdayComponents hour]-1];
+    [nsStepperKrb5RenewTimeM setIntValue:[weekdayComponents minute]];
+    [nsStepperKrb5RenewTimeS setIntValue:[weekdayComponents second]];
+
+    NSNumber *renewCheckTimeInterval = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    if(renewCheckTimeInterval && [renewCheckTimeInterval intValue])[nsTextFieldKrb5RenewCheckIntervall setIntValue:[renewCheckTimeInterval intValue]];
+    else [nsTextFieldKrb5RenewCheckIntervall setIntValue:PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL_DEFAULT_VALUE];
+
+    NSNumber *expireTimeForRenew = (NSNumber*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    if(expireTimeForRenew && [expireTimeForRenew intValue])[nsTextFieldKrb5SecToExpireDateForRenew setIntValue:[expireTimeForRenew intValue]];
+    else [nsTextFieldKrb5SecToExpireDateForRenew setIntValue:PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW_DEFAULT_VALUE];
+
+    //link configuration
+    NSData *prefData = (NSData*)CFPreferencesCopyValue((CFStringRef)PREFERENCE_LINK_CONFIGURATION,  (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    linkConfiguration = (NSMutableDictionary*)[NSPropertyListSerialization propertyListFromData:prefData
+                                                                          mutabilityOption:NSPropertyListMutableContainers
+                                                                          format:nil
+                                                                          errorDescription:nil];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void) writePreferenceFile
 {
-       //Set the preference for afs path
-       //Set the preference for aklog use
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_USE_AKLOG, 
-                                                 (CFNumberRef)[NSNumber numberWithInt:[useAklogCheck state]], 
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-
-       //set AFS enable state at startup
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_START_AFS_AT_STARTUP, 
-                                                 (CFNumberRef)[NSNumber numberWithBool:startAFSAtLogin], 
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
-       
-       //set aklog at login
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN, 
-                                                 (CFNumberRef)[NSNumber numberWithBool:[aklogCredentialAtLoginTime state]], 
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       //set aklog at login
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU, 
-                                                 (CFNumberRef)[NSNumber numberWithBool:[(NSButton*)afsMenucheckBox state]],
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       //preference for link
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_USE_LINK,
-                                                 (CFNumberRef)[NSNumber numberWithBool:[checkEnableLink state]], 
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-               //preference for renew time
-       NSLog(@"%d %d %d %d", [nsTextFieldKrb5RenewTimeD intValue],[nsTextFieldKrb5RenewTimeH intValue],[nsTextFieldKrb5RenewTimeM intValue],[nsTextFieldKrb5RenewTimeS intValue]);
-       NSInteger totalSeconds =        ([nsTextFieldKrb5RenewTimeD intValue]*24*60*60)+
-                                                               ([nsTextFieldKrb5RenewTimeH intValue]*60*60)+
-                                                               ([nsTextFieldKrb5RenewTimeM intValue]*60)+
-                                                               [nsTextFieldKrb5RenewTimeS intValue];
-
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_RENEW_TIME,
-                                                 (CFNumberRef)[NSNumber numberWithInt:totalSeconds],
-                                                 (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-
-               //expire time for renew
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW,
-                                                 (CFNumberRef)[NSNumber numberWithInt:[nsTextFieldKrb5SecToExpireDateForRenew intValue]],
-                                                 (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-
-               //sec to expiretime for renew job
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL,
-                                                 (CFNumberRef)[NSNumber numberWithInt:[nsTextFieldKrb5RenewCheckIntervall intValue]],
-                                                 (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kPrefChangeNotification];
+    //Set the preference for afs path
+    //Set the preference for aklog use
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_USE_AKLOG,
+                         (CFNumberRef)[NSNumber numberWithInt:[useAklogCheck state]],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //set AFS enable state at startup
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_START_AFS_AT_STARTUP,
+                         (CFNumberRef)[NSNumber numberWithBool:startAFSAtLogin],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+
+    //set aklog at login
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_AKLOG_TOKEN_AT_LOGIN,
+                         (CFNumberRef)[NSNumber numberWithBool:[aklogCredentialAtLoginTime state]],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //set aklog at login
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU,
+                         (CFNumberRef)[NSNumber numberWithBool:[(NSButton*)afsMenucheckBox state]],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //preference for link
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_USE_LINK,
+                         (CFNumberRef)[NSNumber numberWithBool:[checkEnableLink state]],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //preference for renew time
+    //NSLog(@"%d %d %d %d", [nsTextFieldKrb5RenewTimeD intValue],[nsTextFieldKrb5RenewTimeH intValue],[nsTextFieldKrb5RenewTimeM intValue],[nsTextFieldKrb5RenewTimeS intValue]);
+    NSInteger totalSeconds =   ([nsTextFieldKrb5RenewTimeD intValue]*24*60*60)+
+       ([nsTextFieldKrb5RenewTimeH intValue]*60*60)+
+       ([nsTextFieldKrb5RenewTimeM intValue]*60)+
+       [nsTextFieldKrb5RenewTimeS intValue];
+
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_RENEW_TIME,
+                         (CFNumberRef)[NSNumber numberWithInt:totalSeconds],
+                         (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //expire time for renew
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_SEC_TO_EXPIRE_TIME_FOR_RENEW,
+                         (CFNumberRef)[NSNumber numberWithInt:[nsTextFieldKrb5SecToExpireDateForRenew intValue]],
+                         (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //sec to expiretime for renew job
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_RENEW_CHECK_TIME_INTERVALL,
+                         (CFNumberRef)[NSNumber numberWithInt:[nsTextFieldKrb5RenewCheckIntervall intValue]],
+                         (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kPrefChangeNotification];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) saveConfiguration:(id) sender
 {
-       @try{
-               
-               //[afsProperty setCellName:[cellNameTextEdit stringValue]];
-               [afsProperty setCellName:[afsProperty getDefaultCellName]];
-               
-               //save configurations
-               [afsProperty saveConfigurationFiles:YES];
-               
-               
-               //Reload all configuration
-               [self refreshConfiguration:nil];
-               
-               //refresh table to reflect the NSSearchField contained text
-               [self searchCellTextEvent:nil];
+    @try{
+       [afsProperty setCellName:[afsProperty getDefaultCellName]];
+
+       //save configurations
+       [afsProperty saveConfigurationFiles:YES];
                
-               //Show dialog for notifity al saving process ar gone ell
-               [self showMessage:kConfigurationSaved];
-       }@catch(NSException *e){
-               [self showMessage:[e reason]];
-       } @finally {
-               [((NSTableView*)cellList) reloadData];
-       }
+       //Reload all configuration
+       [self refreshConfiguration:nil];
+
+       //refresh table to reflect the NSSearchField contained text
+       [self searchCellTextEvent:nil];
        
+       //Show dialog for notifity al saving process ar gone ell
+       [self showMessage:kConfigurationSaved];
+    }@catch(NSException *e){
+       [self showMessage:[e reason]];
+    } @finally {
+       [cellList reloadData];
+    }
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) saveCacheManagerParam:(id) sender
 {
-       @try{
-               //Update the value form view to afs property manager class
-               [self updateCacheParamFromView];
-               [afsProperty saveCacheConfigurationFiles:YES];
-               [self showMessage:kSavedCacheConfiguration];
-       }@catch(NSException *e){
-               [self showMessage:[e reason]];
-       } @finally {
-               [((NSTableView*)cellList) reloadData];
-       }
+    @try{
+       //Update the value form view to afs property manager class
+       [self updateCacheParamFromView];
+       [afsProperty saveCacheConfigurationFiles:YES];
+       [self showMessage:kSavedCacheConfiguration];
+    }@catch(NSException *e){
+       [self showMessage:[e reason]];
+    } @finally {
+       [cellList reloadData];
+    }
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) refreshConfiguration:(id) sender
 {
-       NSString *afsBasePath = PREFERENCE_AFS_SYS_PAT_STATIC;
-       @try{
-               // set the afs path
-               [afsProperty setPath:afsBasePath];
-               
-               // load configuration
-               [afsProperty loadConfiguration];
-               
-               //set the afs version label
-               [afsVersionLabel setStringValue:[afsProperty getAfsVersion]];
-               
-               //set the current default cell
-               [afsDefaultCellLabel setStringValue:[afsProperty getDefaultCellName]];
-               
-               // Update cache view
-               [self fillCacheParamView];
-               
-               //Filter the cellServDb and allocate filtered array
-               [self filterCellServDB:nil];
-               
-       }@catch(NSException *e){
-               [self showMessage:[e reason]];
-       } @finally {
-               [((NSTableView*)cellList) reloadData];
-       }
+    NSString *afsBasePath = PREFERENCE_AFS_SYS_PAT_STATIC;
+    @try{
+       // set the afs path
+       [afsProperty setPath:afsBasePath];
+
+       // load configuration
+       [afsProperty loadConfiguration];
+
+       //set the afs version label
+       [afsVersionLabel setStringValue:[afsProperty getAfsVersion]];
+
+       //set the current default cell
+       [afsDefaultCellLabel setStringValue:[afsProperty getDefaultCellName]];
+
+       // Update cache view
+       [self fillCacheParamView];
+
+       //Filter the cellServDb and allocate filtered array
+       [self filterCellServDB:nil];
+
+    }@catch(NSException *e){
+       [self showMessage:[e reason]];
+    } @finally {
+       [cellList reloadData];
+    }
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(void) fillCacheParamView
 {
-       [dynRoot setState:[afsProperty dynRoot]?NSOnState:NSOffState];
-       [afsDB setState:[afsProperty afsDB]?NSOnState:NSOffState];
-       [statCacheEntry setIntValue:[afsProperty statCacheEntry]];
-       [dCacheDim setIntValue:[afsProperty dCacheDim]];
-       [cacheDimension setIntValue:[afsProperty cacheDimension]];
-       [daemonNumber setIntValue:[afsProperty daemonNumber]];
-       [afsRootMountPoint setStringValue:[afsProperty afsRootMountPoint]];
-       [nVolEntry setIntValue:[afsProperty nVolEntry]];
-       
-       //new version property
-       //[verbose setEnabled:[afsProperty useAfsdConfConfigFile]];
-       [verbose setState:[afsProperty verbose]?NSOnState:NSOffState];
-       
+    [dynRoot setState:[afsProperty dynRoot]?NSOnState:NSOffState];
+    [afsDB setState:[afsProperty afsDB]?NSOnState:NSOffState];
+    [statCacheEntry setIntValue:[afsProperty statCacheEntry]];
+    [dCacheDim setIntValue:[afsProperty dCacheDim]];
+    [cacheDimension setIntValue:[afsProperty cacheDimension]];
+    [daemonNumber setIntValue:[afsProperty daemonNumber]];
+    [afsRootMountPoint setStringValue:[afsProperty afsRootMountPoint]];
+    [nVolEntry setIntValue:[afsProperty nVolEntry]];
+
+    //new version property
+    //[verbose setEnabled:[afsProperty useAfsdConfConfigFile]];
+    [verbose setState:[afsProperty verbose]?NSOnState:NSOffState];
+
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(void) updateCacheParamFromView
 {
-       NSString *tmpAfsPath = [afsRootMountPoint stringValue];
-       if(!tmpAfsPath || ([tmpAfsPath length] == 0) || ([tmpAfsPath characterAtIndex:0] != '/')) 
-               @throw [NSException exceptionWithName:@"updateCacheParamFromView" 
-                                                                          reason:kBadAfsRootMountPoint
-                                                                        userInfo:nil];
+    NSString *tmpAfsPath = [afsRootMountPoint stringValue];
+    if(!tmpAfsPath || ([tmpAfsPath length] == 0) || ([tmpAfsPath characterAtIndex:0] != '/'))
+       @throw [NSException exceptionWithName:@"updateCacheParamFromView"
+                           reason:kBadAfsRootMountPoint
+                           userInfo:nil];
 
-       
-       [afsProperty setDynRoot:[dynRoot state]==NSOnState];
-       [afsProperty setAfsDB:[afsDB state]==NSOnState];
-       [afsProperty setStatCacheEntry:[statCacheEntry intValue]];
-       [afsProperty setDCacheDim:[dCacheDim intValue]]; 
-       [afsProperty setCacheDimension:[cacheDimension intValue]]; 
-       [afsProperty setDaemonNumber:[daemonNumber intValue]];
-       [afsProperty setAfsRootMountPoint:tmpAfsPath];
-       [afsProperty setNVolEntry:[nVolEntry intValue]];
-       [afsProperty setVerbose:[verbose state]==NSOnState];
+    [afsProperty setDynRoot:[dynRoot state]==NSOnState];
+    [afsProperty setAfsDB:[afsDB state]==NSOnState];
+    [afsProperty setStatCacheEntry:[statCacheEntry intValue]];
+    [afsProperty setDCacheDim:[dCacheDim intValue]];
+    [afsProperty setCacheDimension:[cacheDimension intValue]];
+    [afsProperty setDaemonNumber:[daemonNumber intValue]];
+    [afsProperty setAfsRootMountPoint:tmpAfsPath];
+    [afsProperty setNVolEntry:[nVolEntry intValue]];
+    [afsProperty setVerbose:[verbose state]==NSOnState];
 }
 
 
 // -------------------------------------------------------------------------------
 - (IBAction) showCellIP:(id) sender
 {
-       int rowSelected = [((NSTableView *) cellList) selectedRow];
-       [self modifyCellByIDX:rowSelected];
+    int rowSelected = [((NSTableView *) cellList) selectedRow];
+    [self modifyCellByIDX:rowSelected];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(void) modifyCellByIDX:(int) idx
 {
-       [self modifyCell:[self getCellByIDX:idx]];
+    [self modifyCell:[self getCellByIDX:idx]];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(void) modifyCell:(DBCellElement*) cellElement
 {
-       [NSBundle loadNibNamed:@"IpPanel" owner:self];
-       [((IpConfiguratorCommander*) ipConfControllerCommander) setWorkCell:cellElement];
-       [NSApp beginSheet: ipConfigurationSheet
+    [NSBundle loadNibNamed:@"IpPanel" owner:self];
+    [((IpConfiguratorCommander*) ipConfControllerCommander) setWorkCell:cellElement];
+    [NSApp beginSheet: ipConfigurationSheet
           modalForWindow: [[self mainView] window]
-               modalDelegate: self
+          modalDelegate: self
           didEndSelector: @selector(didEndSheet:returnCode:contextInfo:)
-                 contextInfo: nil];
+          contextInfo: nil];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) addRemoveCell:(id) sender
 {
-       switch([((NSControl*) sender) tag]){
-               case ADD_CELL_CONTROL_TAG:
-               {
-                       DBCellElement *newCell = [[DBCellElement alloc] init];
-                       if(!newCell) break;
-                       
-                       [newCell setCellName:kNewCellName];
-                       [newCell setCellComment:kNewCellComment];
-                       //cellArray = ;
-                       [[afsProperty getCellList] addObject:newCell];
-                       [newCell release];
-                       
-                       //Modify new cell
-                       [self modifyCell:newCell];
-               }
-               break;
-                       
-               case REMOVE_CELL_CONTROL_TAG:
-               {
-                       int index = 0;
-                       NSIndexSet *selectedIndex = [(NSTableView*)cellList selectedRowIndexes];
-                       if( [selectedIndex count] > 0) {
-                               index = [selectedIndex firstIndex]; 
-                               do {
-                                       DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:index];
-                                       [[afsProperty getCellList] removeObject:cellElement];
-                               } while ((index = [selectedIndex indexGreaterThanIndex:index]) != NSNotFound);
-                       }
-               }
-               break;
-       }
-       //Filter the cellServDb and allocate filtered array
-       [self searchCellTextEvent:nil];
-       [(NSTableView*)cellList deselectAll:nil];
-       [(NSTableView*)cellList reloadData];
-}
-
-// -------------------------------------------------------------------------------
-//  repairHelperTool:
-// -------------------------------------------------------------------------------
-- (void) repairHelperTool
-{
-       struct stat st;
-    int fdTool;
-       int status = 0;
-       NSLog(@"repairHelperTool"); 
-       NSString *afshlpPath = [[self bundle] pathForResource:@"afshlp" ofType:nil];
+    switch([((NSControl*) sender) tag]){
+    case ADD_CELL_CONTROL_TAG:
+    {
+       DBCellElement *newCell = [[DBCellElement alloc] init];
+       if(!newCell) break;
        
+       [newCell setCellName:kNewCellName];
+       [newCell setCellComment:kNewCellComment];
+       //cellArray = ;
+       [[afsProperty getCellList] addObject:newCell];
+       [newCell release];
        
-    
-    // Open tool exclusively, so nobody can change it while we bless it.
-    fdTool = open([afshlpPath UTF8String], O_NONBLOCK | O_RDONLY | O_EXLOCK, 0);
-    
-    if(fdTool == -1)
-    {
-        NSLog(@"Exclusive open while repairing tool failed: %d.", errno);
-        exit(-1);
+       //Modify new cell
+       [self modifyCell:newCell];
     }
+    break;
     
-    if(fstat(fdTool, &st))
+    case REMOVE_CELL_CONTROL_TAG:
     {
-        NSLog(@"fstat failed.");
-        exit(-1);
+       int index = 0;
+       NSIndexSet *selectedIndex = [(NSTableView*)cellList selectedRowIndexes];
+       if( [selectedIndex count] > 0) {
+           index = [selectedIndex firstIndex];
+           do {
+               DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:index];
+               [[afsProperty getCellList] removeObject:cellElement];
+           } while ((index = [selectedIndex indexGreaterThanIndex:index]) != NSNotFound);
+       }
     }
-    
-    if(st.st_uid != 0)
-    {
-               status = [[AuthUtil shared] autorize];
-               if(status == noErr){
-                       fchown(fdTool, 0, st.st_gid);
-                       
-                       // Disable group and world writability and make setuid root.
-                       fchmod(fdTool, (st.st_mode & (~(S_IWGRP | S_IWOTH)))/* | S_ISUID*/);
-                       const char *args[] = {"root", [afshlpPath UTF8String],0L};
-                       [[AuthUtil shared] execUnixCommand:"/usr/sbin/chown" 
-                                                                                 args:args
-                                                                               output:nil];
-                       [[AuthUtil shared] deautorize];
-               }
-    } else  NSLog(@"st_uid = 0");
-    
-       
-    
-    close(fdTool);
-    
-    NSLog(@"Self-repair done.");
-       
+    break;
+    }
+    //Filter the cellServDb and allocate filtered array
+    [self searchCellTextEvent:nil];
+    [cellList deselectAll:nil];
+    [cellList reloadData];
 }
 
-
 // -------------------------------------------------------------------------------
 //  startStopAfs:
 // -------------------------------------------------------------------------------
 - (IBAction) startStopAfs:(id) sender
 {
-       BOOL currentAfsState = NO;
-       @try {
-               currentAfsState = [afsProperty checkAfsStatus];
-               // make the parameter to call the root helper app
-               if(currentAfsState){
-                       //shutdown afs
-                       NSLog(@"Shutting down afs");
-                       [afsProperty shutdown];
-               } else {
-                       //Start afs
-                       NSLog(@"Starting up afs");
-                       [afsProperty startup];
-               }
-               [self refreshGui:nil];
-       }
-       @catch (NSException * e) {
-               [self showMessage:[e reason]];
-       }
-       @finally {
-               [[AuthUtil shared] deautorize];
+    BOOL currentAfsState = NO;
+    @try {
+       currentAfsState = [afsProperty checkAfsStatus];
+       // make the parameter to call the root helper app
+       if(currentAfsState){
+           //shutdown afs
+           NSLog(@"Shutting down afs");
+           [afsProperty shutdown];
+       } else {
+           //Start afs
+           NSLog(@"Starting up afs");
+           [afsProperty startup];
        }
+       [self refreshGui:nil];
+    }
+    @catch (NSException * e) {
+       [self showMessage:[e reason]];
+    }
+    @finally {
+    }
 }
 
 // -------------------------------------------------------------------------------
 //  info:
 // -------------------------------------------------------------------------------
 - (void) refreshGui:(NSNotification *)notification{
-       BOOL afsIsUp = [afsProperty checkAfsStatus];
-       [self setAfsStatus];
-       [tokensButton setEnabled:afsIsUp];
-       [unlogButton setEnabled:afsIsUp];
+    BOOL afsIsUp = [afsProperty checkAfsStatus];
+    [self setAfsStatus];
+    [tokensButton setEnabled:afsIsUp];
+    [unlogButton setEnabled:afsIsUp];
 
 }
 
 //  -(void) refreshTokensNotify:(NSNotification*)notification
 // -------------------------------------------------------------------------------
 -(void) refreshTokensNotify:(NSNotification*)notification {
-       [self refreshTokens:nil];
+    [self refreshTokens:nil];
 }
 
 // -------------------------------------------------------------------------------
 //  afsVolumeMountChange: Track the afs volume state change
 // -------------------------------------------------------------------------------
+// XXX should use mountdir not /afs
 - (void) afsVolumeMountChange:(NSNotification *)notification{
-       // Cehck if is mounted or unmounted afs
-       if([[[notification userInfo] objectForKey:@"NSDevicePath"] isEqualToString:@"/afs"]){
-               [self setAfsStatus];
-               [self refreshTokens:nil];
-       }
+    // Check if is mounted or unmounted afs
+    if([[[notification userInfo] objectForKey:@"NSDevicePath"] isEqualToString:@"/afs"]){
+       [self setAfsStatus];
+       [self refreshTokens:nil];
+    }
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) info:(id) sender
 {
-       [((InfoController*) infoController) showHtmlResource:[[self bundle] pathForResource:@"license" ofType:@"rtf"]];
+    [infoController showHtmlResource:[[self bundle] pathForResource:@"license" ofType:@"rtf"]];
 
-       [NSApp beginSheet: infoSheet
+    [NSApp beginSheet: infoSheet
           modalForWindow: [[self mainView] window]
-               modalDelegate: self
+          modalDelegate: self
           didEndSelector:  @selector(didEndInfoSheet:returnCode:contextInfo:)
-                 contextInfo: nil];
+          contextInfo: nil];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) tableDoubleAction:(id) sender
 {
-       [self showCellIP:nil];
+    [self showCellIP:nil];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) getNewToken:(id) sender
 {
-       BOOL useAklog = [useAklogCheck state] == NSOnState;
-       if(useAklog){
-               //[AFSPropertyManager aklog];
-               [afsProperty getTokens:false 
-                                                  usr:nil 
-                                                  pwd:nil];
-               [self refreshTokens:nil];
-               //Inform afs menuextra to updata afs status
-               [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
+    BOOL useAklog = [useAklogCheck state] == NSOnState;
+    if(useAklog){
+       //[AFSPropertyManager aklog];
+       [afsProperty getTokens:false
+                    usr:nil
+                    pwd:nil];
+       [self refreshTokens:nil];
+       //Inform afs menuextra to updata afs status
+       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
 
-       } else {
-               [NSBundle loadNibNamed:@"CredentialPanel" owner:self];
-               [NSApp beginSheet: credentialSheet
-                  modalForWindow: [[self mainView] window]
-                       modalDelegate: self
-                  didEndSelector: @selector(didEndCredentialSheet:returnCode:contextInfo:)
-                         contextInfo: nil];
-       }
+    } else {
+       [NSBundle loadNibNamed:@"CredentialPanel" owner:self];
+       [NSApp beginSheet: credentialSheet
+              modalForWindow: [[self mainView] window]
+              modalDelegate: self
+              didEndSelector: @selector(didEndCredentialSheet:returnCode:contextInfo:)
+              contextInfo: nil];
+    }
 }
 
 
 // -------------------------------------------------------------------------------
 - (IBAction) unlog:(id) sender
 {
-       int index = -1;
-       NSIndexSet *selectedIndex = [(NSTableView*)tokensTable selectedRowIndexes];
-       if( [selectedIndex count] > 0) {
-               index = [selectedIndex firstIndex]; 
-               do {
-                       NSString *tokenDesc = [tokenList objectAtIndex:index];
-                       NSString *cellToUnlog = [tokenDesc estractTokenByDelimiter:@"afs@" 
-                                                                                                                         endToken:@" "];
-                       [afsProperty unlog:cellToUnlog];
-               } while ((index = [selectedIndex indexGreaterThanIndex: index]) != NSNotFound);
-       } else {
-               [afsProperty unlog:nil];
-       }
-       [self refreshTokens:nil];
-       //Inform afs menuextra to updata afs status
-       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
-
+    int index = -1;
+    NSIndexSet *selectedIndex = [tokensTable selectedRowIndexes];
+    if( [selectedIndex count] > 0) {
+       index = [selectedIndex firstIndex];
+       do {
+           NSString *tokenDesc = [tokenList objectAtIndex:index];
+           NSString *cellToUnlog = [tokenDesc estractTokenByDelimiter:@"afs@"
+                                              endToken:@" "];
+           [afsProperty unlog:cellToUnlog];
+       } while ((index = [selectedIndex indexGreaterThanIndex: index]) != NSNotFound);
+    } else {
+       [afsProperty unlog:nil];
+    }
+    [self refreshTokens:nil];
+    //Inform afs menuextra to updata afs status
+    [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
 }
 
 
 // -------------------------------------------------------------------------------
 - (IBAction) aklogSwitchEvent:(id) sender
 {
-       //afs menu extra is loaded inform it to read preference
-       @try {
-               if(![useAklogCheck state]) {
-                       //deselect the checkbox
-                       [aklogCredentialAtLoginTime setState:NO];
-               }
-               
-               [self writePreferenceFile];
-               
-               //Enable disable aklog at login time checkbox according the useAklog checkbox
-               [aklogCredentialAtLoginTime setEnabled:[useAklogCheck state]];
-               
-       }
-       @catch (NSException * e) {
-               [self showMessage:[e reason]];
+    //afs menu extra is loaded inform it to read preference
+    @try {
+       if(![useAklogCheck state]) {
+           //deselect the checkbox
+           [aklogCredentialAtLoginTime setState:NO];
        }
        
-               
+       [self writePreferenceFile];
+
+       //Enable disable aklog at login time checkbox according the useAklog checkbox
+       [aklogCredentialAtLoginTime setEnabled:[useAklogCheck state]];
+
+    }
+    @catch (NSException * e) {
+       [self showMessage:[e reason]];
+    }
 }
 
 // -------------------------------------------------------------------------------
 //  credentialAtLoginTimeEvent:
 // -------------------------------------------------------------------------------
 - (IBAction) credentialAtLoginTimeEvent:(id) sender {
-       [self writePreferenceFile];
+    [self writePreferenceFile];
 }
 
 // -------------------------------------------------------------------------------
 //  afsStartupSwitchEvent:
 // -------------------------------------------------------------------------------
 - (IBAction) afsStartupSwitchEvent:(id) sender {
-       NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
-       //get the new state
-       startAFSAtLogin = [checkButtonAfsAtBootTime state];
-       const char *startupConfigureOption[] = {"start_afs_at_startup", startAFSAtLogin?"enable":"disable", 0L};
-       if([[AuthUtil shared] autorize] == noErr) {
-                       //now disable the launchd configuration
-                       [[AuthUtil shared] execUnixCommand:[rootHelperApp UTF8String]
-                                                                                 args:startupConfigureOption
-                                                                               output:nil];
-       }
+    NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
+    //get the new state
+    startAFSAtLogin = [checkButtonAfsAtBootTime state];
+    [PListManager launchctlStringCommandAuth:startAFSAtLogin?@"load":@"unload"
+                 option:[NSArray arrayWithObjects:@"-w", nil]
+                 plistName:@AFS_DAEMON_PATH
+                 helper:rootHelperApp
+                 withAuthRef:[[authView authorization] authorizationRef]];
 }
 
 
 //  afsMenuActivationEvent:
 // -------------------------------------------------------------------------------
 - (IBAction) krb5KredentialAtLoginTimeEvent:(id) sender {
-       //
-       NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
-       const char *args[] = {"enable_krb5_startup", [[installKRB5AuthAtLoginButton stringValue] UTF8String], "", 0L};
-       
-       //Check helper app
-       [self repairHelperTool];
-       if([[AuthUtil shared] autorize] == noErr) {
-               [[AuthUtil shared] execUnixCommand:[rootHelperApp UTF8String] 
-                                                                         args:args
-                                                                       output:nil];
-               
-               //check if all is gone well
-               [installKRB5AuthAtLoginButton setState:[PListManager checkKrb5AtLoginTimeLaunchdEnable]];
-       }
+    NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
+    [PListManager krb5TiketAtLoginTime:[installKRB5AuthAtLoginButton state] helper:rootHelperApp];
+
+    //check if all is gone well
+    [installKRB5AuthAtLoginButton setState:[PListManager checkKrb5AtLoginTimeLaunchdEnable]];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(IBAction) afsMenuActivationEvent:(id) sender
 {
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU, 
-                                                 (CFNumberRef)[NSNumber numberWithBool:[(NSButton*)afsMenucheckBox state]],
-                                                 (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       //notify the backgrounder
-       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSMenuChangeState];
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_SHOW_STATUS_MENU,
+                         (CFNumberRef)[NSNumber numberWithBool:[(NSButton*)afsMenucheckBox state]],
+                         (CFStringRef)kAfsCommanderID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesAnyUser, kCFPreferencesAnyHost);
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //notify the backgrounder
+    [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSMenuChangeState];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) searchCellTextEvent:(id) sender
 {
-       
-       NSString *searchText = [[textSearchField stringValue] lowercaseString]; //filter string
-       [self filterCellServDB:searchText];
-       [((NSTableView*)cellList) reloadData];
+    NSString *searchText = [[textSearchField stringValue] lowercaseString]; //filter string
+    [self filterCellServDB:searchText];
+    [((NSTableView*)cellList) reloadData];
 }
 
 // -------------------------------------------------------------------------------
 //             clear the NSSearchField and showw all CellServDB table
 // -------------------------------------------------------------------------------
 - (void) clearCellServDBFiltering {
-       //Clear the text search
-       [textSearchField setStringValue:@""];
-       //load the temp array with all cell servdb
-       [self searchCellTextEvent:nil];
+    //Clear the text search
+    [textSearchField setStringValue:@""];
+    //load the temp array with all cell servdb
+    [self searchCellTextEvent:nil];
 }
 // --------------------------------------o-----------------------------------------
 //  filterCellServDB:
 //  make the NSMutableArray with all cellservdb or filtered element
 // -------------------------------------------------------------------------------
 - (void) filterCellServDB:(NSString*)textToFilter {
-       DBCellElement *cellElement; //Filtered element
-       BOOL doFilter = !(textToFilter == nil || ([textToFilter length] == 0));
-       
-       // We can do filtering and make the temp array
-       if(filteredCellDB){
-               [filteredCellDB release];
-       }
-       filteredCellDB = [[NSMutableArray alloc] init];
-       NSEnumerator *e = [[afsProperty getCellList] objectEnumerator];
-       while(cellElement = (DBCellElement*)[e nextObject]) {
-               // check if the element can be get
-               if(doFilter) {
-                       //Get the CellServDB array enumerator
-                       NSRange rsltRng = [[[cellElement getCellName] lowercaseString] rangeOfString:textToFilter];
-                  if(rsltRng.location != NSNotFound) {
-                       //we can add this cell to filtered
-                       [filteredCellDB addObject:[cellElement retain]];
-                  }
-               } else {
-                       [filteredCellDB addObject:[cellElement retain]];
-
-               }
+    DBCellElement *cellElement; //Filtered element
+    BOOL doFilter = !(textToFilter == nil || ([textToFilter length] == 0));
+
+    // We can do filtering and make the temp array
+    if(filteredCellDB){
+       [filteredCellDB release];
+    }
+    filteredCellDB = [[NSMutableArray alloc] init];
+    NSEnumerator *e = [[afsProperty getCellList] objectEnumerator];
+    while(cellElement = (DBCellElement*)[e nextObject]) {
+       // check if the element can be get
+       if(doFilter) {
+           //Get the CellServDB array enumerator
+           NSRange rsltRng = [[[cellElement getCellName] lowercaseString] rangeOfString:textToFilter];
+           if(rsltRng.location != NSNotFound) {
+               //we can add this cell to filtered
+               [filteredCellDB addObject:[cellElement retain]];
+           }
+       } else {
+           [filteredCellDB addObject:[cellElement retain]];
+
        }
+    }
 }
                   
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (DBCellElement*) getCurrentCellInDB
 {
-       int rowSelected = [((NSTableView *) cellList) selectedRow];
-       return [self getCellByIDX:rowSelected];
+    int rowSelected = [cellList selectedRow];
+    return [self getCellByIDX:rowSelected];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (DBCellElement*) getCellByIDX:(int) idx
 {
-       //NSMutableArray *cellArray = [afsProperty getCellList];
-       DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:idx];
-       return cellElement;
+    DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:idx];
+    return cellElement;
 }
 
 // -------------------------------------------------------------------------------
 //  showMessage:
 // -------------------------------------------------------------------------------
 -(void) showMessage:(NSString*) message{
-       NSAlert *alert = [[NSAlert alloc] init];
-       
-       [alert setMessageText:message];
-       [alert beginSheetModalForWindow:[[self mainView] window]
-                                         modalDelegate:nil 
-                                        didEndSelector:nil
-                                               contextInfo:nil];
-       [alert release];
+    NSAlert *alert = [[NSAlert alloc] init];
+
+    [alert setMessageText:message];
+    [alert beginSheetModalForWindow:[[self mainView] window]
+          modalDelegate:nil
+          didEndSelector:nil
+          contextInfo:nil];
+    [alert release];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 -(void) setAfsStatus
 {
-       
-       BOOL afsIsUp = [afsProperty checkAfsStatus];
-       BOOL afsEnabledAtStartup = NO;
-       
-       NSMutableString *commandOutput = [NSMutableString stringWithCapacity:20];
-       NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
-               
-#if 0
-                       // make the parameter to call the root helper app
-       const char *checkAFSDaemonParam[] = {"check_afs_daemon",  0L};
-       if([[AuthUtil shared] autorize] == noErr) {
-                               //now disable the launchd configuration
-               [[AuthUtil shared] execUnixCommand:[rootHelperApp UTF8String]
-                                                                         args:checkAFSDaemonParam
-                                                                       output:commandOutput];
-               afsEnabledAtStartup = [commandOutput rangeOfString:@"afshlp:afs daemon registration result:1"].location!=NSNotFound;
-       }
-#else
-       afsEnabledAtStartup = 1;
-#endif
-       
-       
+    BOOL afsIsUp = [afsProperty checkAfsStatus];
+    BOOL afsEnabledAtStartup = NO;
+    NSString *rootHelperApp = [[self bundle] pathForResource:@"afshlp" ofType:@""];
+
+    if ([self isUnlocked]) {
+       afsEnabledAtStartup = (
+           [TaskUtil executeTaskWithAuth:@"/bin/launchctl"
+                     arguments:[NSArray arrayWithObjects:@"list",
+                                        @"org.openafs.filesystems.afs", nil]
+                     helper:rootHelperApp
+                     withAuthRef:[[authView authorization] authorizationRef]
+            ] == noErr)?YES:NO;
+       [checkButtonAfsAtBootTime setState:afsEnabledAtStartup];
+    }
 
+    [startStopButton setTitle: (afsIsUp?kAfsButtonShutdown:kAfsButtonStartup)];
 
-       [((NSButton *)startStopButton) setTitle: (afsIsUp?kAfsButtonShutdown:kAfsButtonStartup)];
-       
-       NSMutableAttributedString *colorTitle =[[NSMutableAttributedString alloc] initWithAttributedString:[((NSButton *)startStopButton) attributedTitle]];
+    NSMutableAttributedString *colorTitle =[[NSMutableAttributedString alloc] initWithAttributedString:[startStopButton attributedTitle]];
     NSRange titleRange = NSMakeRange(0, [colorTitle length]);
-       
+
     [colorTitle addAttribute:NSForegroundColorAttributeName
-                       value:(afsIsUp?[NSColor redColor]:[NSColor blackColor])
-                       range:titleRange];
-       
-    [((NSButton *)startStopButton) setAttributedTitle:colorTitle];
-       [checkButtonAfsAtBootTime setState:afsEnabledAtStartup];
-       if(afsIsUp) {
-               [self startTimer];
-       } else {
-               [self stopTimer];
-       }
+               value:(afsIsUp?[NSColor redColor]:[NSColor blackColor])
+               range:titleRange];
+
+    [startStopButton setAttributedTitle:colorTitle];
+    if(afsIsUp) {
+       [self startTimer];
+    } else {
+       [self stopTimer];
+    }
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void) refreshTokens:(NSTimer*)theTimer;
 {
-       if(![tokensLock tryLock]) return;
-       if(tokenList){
-               [tokenList release];
-       }
-       
-       tokenList = [afsProperty getTokenList];
-       [((NSTableView*)tokensTable) reloadData];
-       [tokensLock unlock];
+    if(![tokensLock tryLock]) return;
+    if(tokenList){
+       [tokenList release];
+    }
+
+    tokenList = [afsProperty getTokenList];
+    [tokensTable reloadData];
+    [tokensLock unlock];
 }
 
 // -------------------------------------------------------------------------------
 //  removeExtra:
 // -------------------------------------------------------------------------------
 - (IBAction) addLink:(id) sender {
-       [NSBundle loadNibNamed:@"SymLinkEdit" owner:self];
-       
-       [NSApp beginSheet: lyncCreationSheet
+    [NSBundle loadNibNamed:@"SymLinkEdit" owner:self];
+
+    [NSApp beginSheet: lyncCreationSheet
           modalForWindow: [[self mainView] window]
-               modalDelegate: self
+          modalDelegate: self
           didEndSelector: @selector(didEndSymlinkSheet:returnCode:contextInfo:)
-                 contextInfo: nil];
-       
+          contextInfo: nil];
 }
 
 // -------------------------------------------------------------------------------
 //  removeExtra:
 // -------------------------------------------------------------------------------
 - (IBAction) removeLink:(id) sender {
-       if(!linkConfiguration) return;
-       int index = 0;
-       NSArray *keys = [linkConfiguration allKeys];
-       NSIndexSet *linkToRemove = [tableViewLink selectedRowIndexes];
-       if( [linkToRemove count] > 0) {
-               index = [linkToRemove firstIndex];
-               do {
-                       [linkConfiguration removeObjectForKey:[keys objectAtIndex:index]];
-               } while ((index = [linkToRemove indexGreaterThanIndex:index]) != -1);
-       }
-       
-       //write the new configuration
-       NSData *prefData = nil;
-       if([linkConfiguration count] > 0) {
-               prefData = [NSPropertyListSerialization dataWithPropertyList:linkConfiguration
-                                                                                                                         format:NSPropertyListXMLFormat_v1_0
-                                                                                                                        options:0
-                                                                                                                          error:nil];
-       }
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_LINK_CONFIGURATION,
-                                                 (CFDataRef)prefData,
-                                                 (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       
-       //reload the new data
-       [tableViewLink reloadData];
+    if(!linkConfiguration) return;
+    int index = 0;
+    NSArray *keys = [linkConfiguration allKeys];
+    NSIndexSet *linkToRemove = [tableViewLink selectedRowIndexes];
+    if( [linkToRemove count] > 0) {
+       index = [linkToRemove firstIndex];
+       do {
+           [linkConfiguration removeObjectForKey:[keys objectAtIndex:index]];
+       } while ((index = [linkToRemove indexGreaterThanIndex:index]) != -1);
+    }
+
+    //write the new configuration
+    NSData *prefData = nil;
+    if([linkConfiguration count] > 0) {
+       prefData = [NSPropertyListSerialization dataWithPropertyList:linkConfiguration
+                                               format:NSPropertyListXMLFormat_v1_0
+                                               options:0
+                                               error:nil];
+    }
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_LINK_CONFIGURATION,
+                         (CFDataRef)prefData,
+                         (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+    //reload the new data
+    [tableViewLink reloadData];
 }
 
 // -------------------------------------------------------------------------------
 //  removeExtra:
 // -------------------------------------------------------------------------------
 - (IBAction) enableLink:(id) sender {
-       [self writePreferenceFile];
+    [self writePreferenceFile];
 }
 
 // -------------------------------------------------------------------------------
 //  removeExtra:
 // -------------------------------------------------------------------------------
 - (IBAction) manageBackgrounderActivation:(id)sender {
-       [PListManager launchctlCommand:[(NSButton*)sender state] 
-                                               userDomain:YES 
-                                                       option:[NSArray arrayWithObjects:@"-S", @"Aqua", nil] 
-                                                plistName:[NSString stringWithFormat:@"%@.plist", BACKGROUNDER_P_FILE]];
-       //re ad the status to check taht all is gone well
-       [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
+    [PListManager launchctlCommand:[(NSButton*)sender state]
+                 userDomain:YES
+                 option:[NSArray arrayWithObjects:@"-S", @"Aqua", nil]
+                 plistName:[NSString stringWithFormat:@"%@.plist", BACKGROUNDER_P_FILE]];
+    //read the status to check that all is gone well
+    [backgrounderActivationCheck setState:[PListManager launchdJobState:BACKGROUNDER_P_FILE]];
 }
 
 // -------------------------------------------------------------------------------
 //  tableViewLinkPerformClick:
 // -------------------------------------------------------------------------------
 - (IBAction) tableViewLinkPerformClick:(id) sender {
-       NSLog(@"tableViewLinkPerformClick");
+    NSLog(@"tableViewLinkPerformClick");
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void)tabView:(NSTabView *)tabView willSelectTabViewItem: (NSTabViewItem *)tabViewItem 
 {
-       //check to see if the cache param tab is the tab that will be selected
-       if([((NSString*)[tabViewItem identifier]) intValue] == TAB_LINK)
-       {
-               [tableViewLink reloadData];
-       }
+    //check to see if the cache param tab is the tab that will be selected
+    if([((NSString*)[tabViewItem identifier]) intValue] == TAB_LINK)
+    {
+       [tableViewLink reloadData];
+    }
 }
 // -------------------------------------------------------------------------------
 //  tableViewLinkPerformClick:
 // -------------------------------------------------------------------------------
 - (IBAction) enableDisableKrb5RenewCheck:(id) sender {
-       //NSLog(@"enableDisableKrb5RenewCheck");
-       CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_CHECK_ENABLE,
-                                                 (CFNumberRef) [NSNumber numberWithInt:[(NSButton*)sender intValue]],
-                                                 (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-       CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-               //notify the backgrounder
-       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kPrefChangeNotification];
+    //NSLog(@"enableDisableKrb5RenewCheck");
+    CFPreferencesSetValue((CFStringRef)PREFERENCE_KRB5_CHECK_ENABLE,
+                         (CFNumberRef) [NSNumber numberWithInt:[(NSButton*)sender intValue]],
+                         (CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    CFPreferencesSynchronize((CFStringRef)kAfsCommanderID,  kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+    //notify the backgrounder
+    [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kPrefChangeNotification];
 }
 // -------------------------------------------------------------------------------
 //  tableViewLinkPerformClick:
 // -------------------------------------------------------------------------------
 - (IBAction) krb5RenewParamChange:(id) sender {
 }
+
+
+- (BOOL)isUnlocked {
+    return [authView authorizationState] == SFAuthorizationViewUnlockedState;
+}
+
+- (void)authorizationViewDidAuthorize:(SFAuthorizationView *)view {
+    // enable things
+    [startStopButton setEnabled:[self isUnlocked]];
+    [checkButtonAfsAtBootTime setEnabled:[self isUnlocked]];
+    [self setAfsStatus];
+    [installKRB5AuthAtLoginButton setEnabled:[self isUnlocked]];
+}
+
+- (void)authorizationViewDidDeauthorize:(SFAuthorizationView *)view {
+    // disable things
+    [startStopButton setEnabled:[self isUnlocked]];
+    [checkButtonAfsAtBootTime setEnabled:[self isUnlocked]];
+    [installKRB5AuthAtLoginButton setEnabled:[self isUnlocked]];
+}
 @end
 
 @implementation AFSCommanderPref (NSTableDataSource)
 - (void)tableView:(NSTableView *)table 
    setObjectValue:(id)data 
    forTableColumn:(NSTableColumn *)col 
-                         row:(int)row
+             row:(int)row
 {
-       NSString *identifier = (NSString*)[col identifier];
-       switch([table tag]){
-               case TABLE_TOKENS_LIST:
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       // we are editing checkbox for cellservdb table
-                       if([identifier intValue] == CELLSRVDB_TABLE_USR_DFLT_CHECK_COLUMN) {
-                               // set the user default cell
-                               DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
-                               [afsProperty setDefaultCellByName:[cellElement getCellName]];
-                               //[afsDefaultCellLabel setStringValue:[afsProperty getDefaultCellName]];
-                               [((NSTableView*)cellList) reloadData];
-                       } else if([identifier intValue] == CELLSRVDB_TABLE_DFLT_CHECK_COLUMN) {
-                               // set the cell for wich the user want to get token
-                               DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
-                               [cellElement setUserDefaultForToken:![cellElement userDefaultForToken]];
-                       }  
-                       break;
-       }
+    NSString *identifier = (NSString*)[col identifier];
+    switch([table tag]){
+    case TABLE_TOKENS_LIST:
+       break;
        
+    case TABLE_CELL_LIST:
+       // we are editing checkbox for cellservdb table
+       if([identifier intValue] == CELLSRVDB_TABLE_USR_DFLT_CHECK_COLUMN) {
+           // set the user default cell
+           DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
+           [afsProperty setDefaultCellByName:[cellElement getCellName]];
+           //[afsDefaultCellLabel setStringValue:[afsProperty getDefaultCellName]];
+           [((NSTableView*)cellList) reloadData];
+       } else if([identifier intValue] == CELLSRVDB_TABLE_DFLT_CHECK_COLUMN) {
+           // set the cell for wich the user want to get token
+           DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
+           [cellElement setUserDefaultForToken:![cellElement userDefaultForToken]];
+       }
+       break;
+    }
 }
 
 
 //  tableView:
 //             refresh delegate method for two AFSCommander table
 // -------------------------------------------------------------------------------
-- (id)         tableView:(NSTableView *) aTableView
-       objectValueForTableColumn:(NSTableColumn *) aTableColumn
-                                                 row:(int) rowIndex
+- (id) tableView:(NSTableView *) aTableView
+objectValueForTableColumn:(NSTableColumn *) aTableColumn
+            row:(int) rowIndex
 {  
+    id result = nil;
+    NSString *identifier = (NSString*)[aTableColumn identifier];
+    switch([aTableView tag]){
+    case TABLE_TOKENS_LIST:
+       //We are refreshing tokens table
+       result = [self getTableTokensListValue:[identifier intValue] row:rowIndex];
+       break;
        
-       id result = nil;
-       NSString *identifier = (NSString*)[aTableColumn identifier];
-       switch([aTableView tag]){
-               case TABLE_TOKENS_LIST:
-                       //We are refreshing tokens table
-                       result = [self getTableTokensListValue:[identifier intValue] row:rowIndex];
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       //We are refreshing cell db table
-                       result = [self getTableCelListValue:[identifier intValue] row:rowIndex];
-                       break;
-                       
-               case TABLE_LINK_LIST:
-                       result = [self getTableLinkValue:[identifier intValue] row:rowIndex];
-                       break;
-
-               
-       }
-       return result;  
+    case TABLE_CELL_LIST:
+       //We are refreshing cell db table
+       result = [self getTableCelListValue:[identifier intValue] row:rowIndex];
+       break;
+
+    case TABLE_LINK_LIST:
+       result = [self getTableLinkValue:[identifier intValue] row:rowIndex];
+       break;
+    }
+    return result;
 }
 
 
 // -------------------------------------------------------------------------------
 - (id)getTableTokensListValue:(int) colId row:(int)row
 {
-       id result = nil;
-       if(!tokenList) return nil;
-       switch(colId){
-               case 0:
-                       result = (NSString*)[tokenList objectAtIndex:row];
-                       break;
-       }
-       return result;
+    id result = nil;
+    if(!tokenList) return nil;
+    switch(colId){
+    case 0:
+       result = (NSString*)[tokenList objectAtIndex:row];
+       break;
+    }
+    return result;
 }
 
 
 // -------------------------------------------------------------------------------
 - (id)getTableCelListValue:(int) colId row:(int)row
 {
-       id result = nil;
-       //NSMutableArray *cellArray = [afsProperty getCellList];
-       DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
-       switch(colId){
-               case CELLSRVDB_TABLE_USR_DFLT_CHECK_COLUMN:
-                       result = [NSNumber numberWithInt:[cellElement userDefaultForCell]];
-                       break;
-                       
-               case CELLSRVDB_TABLE_DFLT_CHECK_COLUMN:
-                       result = [NSNumber numberWithInt:[cellElement userDefaultForToken]];
-                       break;
-               case CELLSRVDB_TABLE_NAME_COLUMN:
-                       result = [cellElement getCellName];
-                       break;
-                       
-               case CELLSRVDB_TABLE_DESCRIPTION_COLUMN:
-                       result = [cellElement getCellComment];
-                       break;
-       }
-       return result;
+    id result = nil;
+    //NSMutableArray *cellArray = [afsProperty getCellList];
+    DBCellElement *cellElement =  (DBCellElement*)[filteredCellDB objectAtIndex:row];
+    switch(colId){
+    case CELLSRVDB_TABLE_USR_DFLT_CHECK_COLUMN:
+       result = [NSNumber numberWithInt:[cellElement userDefaultForCell]];
+       break;
+
+    case CELLSRVDB_TABLE_DFLT_CHECK_COLUMN:
+       result = [NSNumber numberWithInt:[cellElement userDefaultForToken]];
+       break;
+    case CELLSRVDB_TABLE_NAME_COLUMN:
+       result = [cellElement getCellName];
+       break;
+
+    case CELLSRVDB_TABLE_DESCRIPTION_COLUMN:
+       result = [cellElement getCellComment];
+       break;
+    }
+    return result;
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (id)getTableLinkValue:(int) colId row:(int)row
 {
-       id result = nil;
-       NSArray *allKey = [linkConfiguration allKeys];
-       switch(colId){
-               case TABLE_COLUMN_LINK_NAME:
-                       result = [allKey objectAtIndex:row];
-                       break;
-                       
-               case TABLE_COLUMN_LINK_PATH:
-                       result = [linkConfiguration objectForKey:[allKey objectAtIndex:row]];
-                       break;
-       }
-       return result;
+    id result = nil;
+    NSArray *allKey = [linkConfiguration allKeys];
+    switch(colId){
+    case TABLE_COLUMN_LINK_NAME:
+       result = [allKey objectAtIndex:row];
+       break;
+
+    case TABLE_COLUMN_LINK_PATH:
+       result = [linkConfiguration objectForKey:[allKey objectAtIndex:row]];
+       break;
+    }
+    return result;
 }
 
 
 // -------------------------------------------------------------------------------
 - (int)numberOfRowsInTableView:(NSTableView *)aTableView
 {
-       int rowCount = 0;
-       //NSMutableArray *cellArray = nil;
-       switch([aTableView tag]){
-               case TABLE_TOKENS_LIST:
-                       if(tokenList)  rowCount = [tokenList count];
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       //cellArray = [afsProperty getCellList];
-                       if(filteredCellDB)  rowCount = [filteredCellDB count];
-                       break;
-                       
-               case TABLE_LINK_LIST:
-                       if(linkConfiguration)  rowCount = [linkConfiguration count];
-                       break;
-
-                       
-       }       
-       return rowCount;  
+    int rowCount = 0;
+    switch([aTableView tag]){
+    case TABLE_TOKENS_LIST:
+       if(tokenList)  rowCount = [tokenList count];
+       break;
+
+    case TABLE_CELL_LIST:
+       if(filteredCellDB)  rowCount = [filteredCellDB count];
+       break;
+
+    case TABLE_LINK_LIST:
+       if(linkConfiguration)  rowCount = [linkConfiguration count];
+       break;
+    }
+    return rowCount;
 }
 @end
 
 // -------------------------------------------------------------------------------
 - (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTable
 {
-       switch([aTable tag]){
-               case TABLE_TOKENS_LIST:
-                       
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       [self tableViewCellmanageButtonState:[aTable selectedRow]];
-                       break;
-                       
-               case TABLE_LINK_LIST:
-                       break;
-                       
-                       
-       }       
+    switch([aTable tag]){
+    case TABLE_TOKENS_LIST:
+       break;
        
-       return YES;
+    case TABLE_CELL_LIST:
+       [self tableViewCellmanageButtonState:[aTable selectedRow]];
+       break;
+
+    case TABLE_LINK_LIST:
+       break;
+
+
+    }
+
+    return YES;
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (BOOL)tableView:(NSTableView *)aTable shouldSelectRow:(int)aRow
 {
-       switch([aTable tag]){
-               case TABLE_TOKENS_LIST:
-                       
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       [self tableViewCellmanageButtonState:aRow];
-                       break;
-                       
-               case TABLE_LINK_LIST:
-                       break;
-                       
-                       
-       }
+    switch([aTable tag]){
+    case TABLE_TOKENS_LIST:
+       break;
+
+    case TABLE_CELL_LIST:
+       [self tableViewCellmanageButtonState:aRow];
+       break;
        
-       return YES;
+    case TABLE_LINK_LIST:
+       break;
+    }
+    return YES;
 }
 
 // -------------------------------------------------------------------------------
 //  tableView:
 // -------------------------------------------------------------------------------
 - (void)tableViewSelectionDidChange:(NSNotification *)aNotification {
-       NSTableView *aTable = [aNotification object];
-       switch([aTable tag]){
-               case TABLE_TOKENS_LIST:
-                       break;
-                       
-               case TABLE_CELL_LIST:
-                       break;
-                       
-               case TABLE_LINK_LIST:
-                       [self tableViewLinkmanageButtonState:[aTable selectedRowIndexes]];
-                       break;
-                       
-                       
-       }
+    NSTableView *aTable = [aNotification object];
+    switch([aTable tag]){
+    case TABLE_TOKENS_LIST:
+       break;
+
+    case TABLE_CELL_LIST:
+       break;
+
+    case TABLE_LINK_LIST:
+       [self tableViewLinkmanageButtonState:[aTable selectedRowIndexes]];
+       break;
+    }
 }
 // -------------------------------------------------------------------------------
 //  manageButtonState:
 // -------------------------------------------------------------------------------
 -(void) tableViewCellmanageButtonState:(int) rowSelected  {
-       [((NSControl*) cellIpButton) setEnabled:rowSelected >= 0];
-       [((NSControl*) removeCellButton) setEnabled:rowSelected >= 0];
+    [cellIpButton setEnabled:rowSelected >= 0];
+    [removeCellButton setEnabled:rowSelected >= 0];
 }
 
 // -------------------------------------------------------------------------------
 //  manageButtonState:
 // -------------------------------------------------------------------------------
 -(void) tableViewLinkmanageButtonState:(NSIndexSet *) rowsSelectedIndex {
-       [buttonRemoveLink setEnabled:[rowsSelectedIndex count]>0];
+    [buttonRemoveLink setEnabled:[rowsSelectedIndex count]>0];
 }
 @end
 
 - (void)didEndSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
 {
     [sheet orderOut:self];
-       //Filter the cellServDb and allocate filtered array
-       [self searchCellTextEvent:nil];
-       [((NSTableView*)cellList) reloadData];
+    //Filter the cellServDb and allocate filtered array
+    [self searchCellTextEvent:nil];
+    [cellList reloadData];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void)didEndCredentialSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
 {
-       if([((TokenCredentialController*)credentialCommander) takenToken] == YES){
-               /*[AFSPropertyManager klog:[((TokenCredentialController*)credentialCommander) uName] 
-                                                       uPwd:[((TokenCredentialController*)credentialCommander) uPwd] ];*/
-               [afsProperty getTokens:true 
-                                                  usr:[((TokenCredentialController*)credentialCommander) uName] 
-                                                  pwd:[((TokenCredentialController*)credentialCommander) uPwd]];
-       }
+    if([((TokenCredentialController*)credentialCommander) takenToken] == YES){
+       /*[AFSPropertyManager klog:[((TokenCredentialController*)credentialCommander) uName]
+         uPwd:[((TokenCredentialController*)credentialCommander) uPwd] ];*/
+       [afsProperty getTokens:true
+                    usr:[((TokenCredentialController*)credentialCommander) uName]
+                    pwd:[((TokenCredentialController*)credentialCommander) uPwd]];
+    }
     [sheet orderOut:self];
-       [self refreshTokens:nil];
-       //Inform afs menuextra to updata afs status
-       [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
-
+    [self refreshTokens:nil];
+    //Inform afs menuextra to updata afs status
+    [[NSDistributedNotificationCenter defaultCenter] postNotificationName:kAFSMenuExtraID object:kMExtraAFSStateChange];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void)didEndInfoSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
 {
-       [sheet orderOut:self];
+    [sheet orderOut:self];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (void)didEndSymlinkSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
 {
-       [lyncCreationSheet orderOut:self];
-       [self readPreferenceFile];
-       [tableViewLink reloadData];
-       
+    [lyncCreationSheet orderOut:self];
+    [self readPreferenceFile];
+    [tableViewLink reloadData];
 }
 @end
index e229c76f476c37e0ab606dc48887c0dd86ddcc95..0ed4cd42dd063a23ef32dde7cc1e85bd03093324 100644 (file)
@@ -29,7 +29,7 @@
        NSString *afsRootMountPoint;
        int statCacheEntry;
        int dCacheDim;
-       int     cacheDimension;
+       int cacheDimension;
        int daemonNumber;
        int nVolEntry;
        bool dynRoot;
index fb696da98002ec8cd1ffab61fffddbdf06e5727f..e96fc747b45e181d5bffa1aaa12d4acb5b018b5b 100644 (file)
@@ -92,7 +92,6 @@
        if(cellList) {[cellList removeAllObjects];[cellList release];}
        if(cellName) {[cellName release];}
        if(futil) {
-               [futil endAutorization];
                [futil release];
                futil = nil; 
        }
        
        NSCharacterSet *returnCS = [NSCharacterSet characterSetWithCharactersInString:@"\n"];
        NSFileHandle *fileH = [NSFileHandle fileHandleForReadingAtPath:filePath];
-       if (!fileH) return nil;
+       if (!fileH) return 0;
        NSData *fileHData = [fileH readDataToEndOfFile];
        NSString *cacheInfoStrData = [[NSString alloc] initWithData:fileHData
                                                                                                           encoding:NSASCIIStringEncoding];
 // -------------------------------------------------------------------------------
 -(int) readOldAfsdOption:(NSString*)filePath
 {
-       if(!filePath) return nil;
+       if(!filePath) return 0;
        return [self readAFSDParamLineContent:[[NSString stringWithContentsOfFile:filePath 
                                                                                                                          encoding:NSUTF8StringEncoding 
                                                                                                                                 error:nil] stringByStandardizingPath]];
 //  readAFSDParamLineContent:
 // -------------------------------------------------------------------------------
 -(int) readAFSDParamLineContent:(NSString*) paramLine{
-       if (!paramLine) return nil;
+       if (!paramLine) return 0;
 
        NSString *tmpString = nil;
        NSCharacterSet *space = [NSCharacterSet characterSetWithCharactersInString:@" "];
 // -------------------------------------------------------------------------------
 -(int) readNewAfsdOption:(NSString*)filePath
 {
-       if(!filePath) return nil;
-       NSString *currentLines = nil;
-       NSString *paramValue = nil;
-       NSScanner *lineScanner = nil;
+       if(!filePath) return 0;
+       NSString *currentLines = 0;
+       NSString *paramValue = 0;
+       NSScanner *lineScanner = 0;
        
        //Get file content
        NSString *newAFSDConfContent = [NSString stringWithContentsOfFile:filePath 
                                                                                                                         encoding:NSUTF8StringEncoding 
                                                                                                                                error:nil];
-       if (!newAFSDConfContent) return nil;
+       if (!newAFSDConfContent) return 0;
        
        //get lines in array
        NSArray *confLines = [newAFSDConfContent componentsSeparatedByString:@"\n"];
 // -------------------------------------------------------------------------------
 -(void) shutdown
 {
-       @try {
-               const char *stopArgs[] = {"stop", 0L};
-               if([[AuthUtil shared] autorize] == noErr) {
-                       [[AuthUtil shared] execUnixCommand:AFS_DAEMON_STARTUPSCRIPT
-                                                                                 args:stopArgs
-                                                                               output:nil];
-               }
-
-       }
-       @catch (NSException * e) {
-               @throw e;
-       }
-       @finally {
-       
-       }
-       
-       
+  NSString *rootHelperApp = [[NSBundle bundleForClass:[self class]] pathForResource:@"afshlp" ofType:@""];
+    @try {
+       const char *stopArgs[] = {AFS_DAEMON_STARTUPSCRIPT, "stop", 0L};
+       [[AuthUtil shared] execUnixCommand:[rootHelperApp fileSystemRepresentation]
+                          args:stopArgs
+                          output:nil];
+    }
+    @catch (NSException * e) {
+       @throw e;
+    }
+    @finally {
+    }
 }
 
 
 // -------------------------------------------------------------------------------
 -(void) startup
 {
-       @try {
-               const char *startArgs[] = {"start", 0L};
-               if([[AuthUtil shared] autorize] == noErr) {
-                       [[AuthUtil shared] execUnixCommand:AFS_DAEMON_STARTUPSCRIPT
-                                                                                 args:startArgs
-                                                                               output:nil];
-               }
-
-       }
-       @catch (NSException * e) {
-               @throw e;
-       }
-       @finally {
-
-       }
-
-
+  NSString *rootHelperApp = [[NSBundle bundleForClass:[self class]] pathForResource:@"afshlp" ofType:@""];
+    @try {
+       const char *startArgs[] = {AFS_DAEMON_STARTUPSCRIPT, "start", 0L};
+       [[AuthUtil shared] execUnixCommand:[rootHelperApp fileSystemRepresentation]
+                          args:startArgs
+                          output:nil];
+    }
+    @catch (NSException * e) {
+       @throw e;
+    }
+    @finally {
+    }
 }
+
 // -------------------------------------------------------------------------------
 //  -(void) saveConfigurationFiles
 // -------------------------------------------------------------------------------
                                                         encoding:  NSUTF8StringEncoding 
                                                                error:&err];
                
-               // backup original file
-               if([futil startAutorization] != noErr){
-                       @throw [NSException exceptionWithName:@"saveConfigurationFiles:startAutorization" 
-                                                                                  reason:kUserNotAuth
-                                                                                userInfo:nil];
-               }
-
                if(makeBackup) [self backupConfigurationFiles];
 
                // install ThisCell
                [self writeAfsdOption:useAfsdConfVersion?AFSD_TMP_NEW_PREFERENCE_FILE:AFSD_TMP_OLD_PREFERENCE_FILE];
                
                // backup original file
-               if([futil startAutorization] != noErr){
-                       @throw [NSException exceptionWithName:@"AFSPropertyManager:saveCacheConfigurationFiles:startAutorization" 
-                                                                                  reason:kUserNotAuth
-                                                                                userInfo:nil];
-               }
-               
                if(makeBackup) {
                        //cacheinfo
                        [self backupFile:@"/etc/cacheinfo"];
 {      
 
        @try{
-               if([futil startAutorization] != noErr){
-                       @throw [NSException exceptionWithName:@"backupConfigurationFiles:startAutorization" 
-                                                                                  reason:kUserNotAuth
-                                                                                userInfo:nil];
-               }
                //This cell
                [self backupFile:@"/etc/ThisCell"];
        
                //TheseCell
                [self backupFile:@"/etc/TheseCells"];
                
-               //[futil endAutorization];
        } @catch (NSException *e) {
                @throw e;
        } @finally {
                
                //Check if the file at path exist
                NSFileManager *fileManager = [NSFileManager defaultManager];
-               
-               //check if th efile exist
                if(![fileManager fileExistsAtPath:[filePath stringByExpandingTildeInPath]]) return;
                
                // store the source path
index 80acbdfb15c33f4daf5f7b4d32df2c3721554693..b1190ba415331e1e300b24360b0809532d68f6d4 100644 (file)
@@ -2,30 +2,46 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
        <data>
                <int key="IBDocument.SystemTarget">1050</int>
-               <string key="IBDocument.SystemVersion">10C540</string>
-               <string key="IBDocument.InterfaceBuilderVersion">762</string>
-               <string key="IBDocument.AppKitVersion">1038.25</string>
-               <string key="IBDocument.HIToolboxVersion">458.00</string>
+               <string key="IBDocument.SystemVersion">11D50d</string>
+               <string key="IBDocument.InterfaceBuilderVersion">2182</string>
+               <string key="IBDocument.AppKitVersion">1138.32</string>
+               <string key="IBDocument.HIToolboxVersion">568.00</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
                        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-                       <string key="NS.object.0">762</string>
+                       <string key="NS.object.0">2182</string>
                </object>
-               <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+               <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <integer value="101"/>
+                       <string>NSTabView</string>
+                       <string>NSStepper</string>
+                       <string>NSButton</string>
+                       <string>NSCustomObject</string>
+                       <string>NSTableView</string>
+                       <string>NSCustomView</string>
+                       <string>NSSearchField</string>
+                       <string>NSTextField</string>
+                       <string>NSNumberFormatter</string>
+                       <string>NSSearchFieldCell</string>
+                       <string>NSWindowTemplate</string>
+                       <string>NSTextFieldCell</string>
+                       <string>NSStepperCell</string>
+                       <string>NSButtonCell</string>
+                       <string>NSTableColumn</string>
+                       <string>NSBox</string>
+                       <string>NSView</string>
+                       <string>NSScrollView</string>
+                       <string>NSTabViewItem</string>
+                       <string>NSTextView</string>
+                       <string>NSScroller</string>
+                       <string>NSTableHeaderView</string>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                </object>
                <object class="NSMutableDictionary" key="IBDocument.Metadata">
-                       <bool key="EncodedWithXMLCoder">YES</bool>
-                       <object class="NSArray" key="dict.sortedKeys" id="0">
-                               <bool key="EncodedWithXMLCoder">YES</bool>
-                       </object>
-                       <object class="NSMutableArray" key="dict.values">
-                               <bool key="EncodedWithXMLCoder">YES</bool>
-                       </object>
+                       <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+                       <integer value="1" key="NS.object.0"/>
                </object>
                <object class="NSMutableArray" key="IBDocument.RootObjects" id="84888716">
                        <bool key="EncodedWithXMLCoder">YES</bool>
@@ -48,7 +64,7 @@
                                <object class="NSMutableString" key="NSViewClass">
                                        <characters key="NS.bytes">View</characters>
                                </object>
-                               <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+                               <nil key="NSUserInterfaceItemIdentifier"/>
                                <object class="NSView" key="NSWindowView" id="645279396">
                                        <reference key="NSNextResponder"/>
                                        <int key="NSvFlags">274</int>
@@ -59,6 +75,8 @@
                                                        <int key="NSvFlags">256</int>
                                                        <string key="NSFrame">{{17, 1}, {304, 14}}</string>
                                                        <reference key="NSSuperview" ref="645279396"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="1047946385"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="947523856">
                                                                <int key="NSCellFlags">67239424</int>
                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                <object class="NSView" id="520583273">
                                                                        <reference key="NSNextResponder" ref="748501112"/>
-                                                                       <int key="NSvFlags">256</int>
+                                                                       <int key="NSvFlags">274</int>
                                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                <object class="NSButton" id="709840556">
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{13, 7}, {109, 28}}</string>
                                                                                        <reference key="NSSuperview" ref="520583273"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="713307252"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSButtonCell" key="NSCell" id="675447498">
                                                                                                <int key="NSCellFlags">67239424</int>
                                                                                        <int key="NSvFlags">265</int>
                                                                                        <string key="NSFrame">{{526, 9}, {21, 23}}</string>
                                                                                        <reference key="NSSuperview" ref="520583273"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="739317740"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSButtonCell" key="NSCell" id="1009755861">
                                                                                                <int key="NSCellFlags">-2080244224</int>
                                                                                        <int key="NSvFlags">268</int>
                                                                                        <string key="NSFrame">{{138, 13}, {117, 18}}</string>
                                                                                        <reference key="NSSuperview" ref="520583273"/>
+                                                                                       <reference key="NSWindow"/>
+                                                                                       <reference key="NSNextKeyView" ref="871603218"/>
                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                        <object class="NSButtonCell" key="NSCell" id="98390178">
                                                                                                <int key="NSCellFlags">67239424</int>
                                                                        </object>
                                                                        <string key="NSFrame">{{1, 1}, {562, 43}}</string>
                                                                        <reference key="NSSuperview" ref="748501112"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <reference key="NSNextKeyView" ref="709840556"/>
                                                                </object>
                                                        </object>
                                                        <string key="NSFrame">{{17, 423}, {564, 45}}</string>
                                                        <reference key="NSSuperview" ref="645279396"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="520583273"/>
                                                        <string key="NSOffsets">{0, 0}</string>
                                                        <object class="NSTextFieldCell" key="NSTitleCell">
                                                                <int key="NSCellFlags">67239424</int>
                                                        <int key="NSvFlags">274</int>
                                                        <string key="NSFrame">{{13, 15}, {572, 401}}</string>
                                                        <reference key="NSSuperview" ref="645279396"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="1020318718"/>
                                                        <object class="NSMutableArray" key="NSTabViewItems">
                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                <object class="NSTabViewItem" id="269508902">
                                                                                                                                <int key="NSvFlags">256</int>
                                                                                                                                <string key="NSFrameSize">{516, 140}</string>
                                                                                                                                <reference key="NSSuperview" ref="457121079"/>
+                                                                                                                               <reference key="NSWindow"/>
+                                                                                                                               <reference key="NSNextKeyView" ref="884311606"/>
                                                                                                                                <int key="NSTag">1</int>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSTableHeaderView" key="NSHeaderView" id="1048519426">
                                                                                                                                        <int key="NSvFlags">256</int>
                                                                                                                                        <string key="NSFrameSize">{516, 17}</string>
                                                                                                                                        <reference key="NSSuperview" ref="214413149"/>
+                                                                                                                                       <reference key="NSWindow"/>
+                                                                                                                                       <reference key="NSNextKeyView" ref="457121079"/>
                                                                                                                                        <reference key="NSTableView" ref="313963250"/>
                                                                                                                                </object>
-                                                                                                                               <object class="_NSCornerView" key="NSCornerView" id="360324124">
-                                                                                                                                       <reference key="NSNextResponder" ref="440720679"/>
+                                                                                                                               <object class="_NSCornerView" key="NSCornerView">
+                                                                                                                                       <nil key="NSNextResponder"/>
                                                                                                                                        <int key="NSvFlags">-2147483392</int>
                                                                                                                                        <string key="NSFrame">{{-22, 0}, {12, 17}}</string>
-                                                                                                                                       <reference key="NSSuperview" ref="440720679"/>
                                                                                                                                </object>
                                                                                                                                <object class="NSMutableArray" key="NSTableColumns">
                                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                        </object>
                                                                                                                                </object>
                                                                                                                                <double key="NSRowHeight">12</double>
-                                                                                                                               <int key="NSTvFlags">-692060160</int>
+                                                                                                                               <int key="NSTvFlags">-155189248</int>
                                                                                                                                <reference key="NSDelegate"/>
                                                                                                                                <reference key="NSDataSource"/>
                                                                                                                                <int key="NSGridStyleMask">2</int>
                                                                                                                                <int key="NSDraggingSourceMaskForNonLocal">0</int>
                                                                                                                                <bool key="NSAllowsTypeSelect">YES</bool>
                                                                                                                                <int key="NSTableViewDraggingDestinationStyle">0</int>
+                                                                                                                               <int key="NSTableViewGroupRowStyle">1</int>
                                                                                                                        </object>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 17}, {516, 140}}</string>
                                                                                                                <reference key="NSSuperview" ref="440720679"/>
+                                                                                                               <reference key="NSWindow"/>
                                                                                                                <reference key="NSNextKeyView" ref="313963250"/>
                                                                                                                <reference key="NSDocView" ref="313963250"/>
                                                                                                                <reference key="NSBGColor" ref="252569531"/>
                                                                                                                <int key="NSvFlags">-2147483392</int>
                                                                                                                <string key="NSFrame">{{494, 17}, {11, 80}}</string>
                                                                                                                <reference key="NSSuperview" ref="440720679"/>
+                                                                                                               <reference key="NSWindow"/>
+                                                                                                               <reference key="NSNextKeyView" ref="258996751"/>
                                                                                                                <int key="NSsFlags">256</int>
                                                                                                                <reference key="NSTarget" ref="440720679"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
                                                                                                                <int key="NSvFlags">-2147483392</int>
                                                                                                                <string key="NSFrame">{{1, 97}, {505, 11}}</string>
                                                                                                                <reference key="NSSuperview" ref="440720679"/>
+                                                                                                               <reference key="NSWindow"/>
+                                                                                                               <reference key="NSNextKeyView" ref="893552286"/>
                                                                                                                <int key="NSsFlags">257</int>
                                                                                                                <reference key="NSTarget" ref="440720679"/>
                                                                                                                <string key="NSAction">_doScroller:</string>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 0}, {516, 17}}</string>
                                                                                                                <reference key="NSSuperview" ref="440720679"/>
+                                                                                                               <reference key="NSWindow"/>
                                                                                                                <reference key="NSNextKeyView" ref="1048519426"/>
                                                                                                                <reference key="NSDocView" ref="1048519426"/>
                                                                                                                <reference key="NSBGColor" ref="252569531"/>
                                                                                                                <int key="NScvFlags">4</int>
                                                                                                        </object>
-                                                                                                       <reference ref="360324124"/>
                                                                                                </object>
                                                                                                <string key="NSFrame">{{17, 199}, {518, 158}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
-                                                                                               <reference key="NSNextKeyView" ref="457121079"/>
-                                                                                               <int key="NSsFlags">562</int>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="214413149"/>
+                                                                                               <int key="NSsFlags">133682</int>
                                                                                                <reference key="NSVScroller" ref="884311606"/>
                                                                                                <reference key="NSHScroller" ref="258996751"/>
                                                                                                <reference key="NSContentView" ref="457121079"/>
                                                                                                <reference key="NSHeaderClipView" ref="214413149"/>
-                                                                                               <reference key="NSCornerView" ref="360324124"/>
                                                                                                <bytes key="NSScrollAmts">QSAAAEEgAABBYAAAQWAAAA</bytes>
                                                                                        </object>
                                                                                        <object class="NSButton" id="210387551">
                                                                                                <int key="NSvFlags">265</int>
                                                                                                <string key="NSFrame">{{329, 164}, {80, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="977607312"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="327131725">
                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                <int key="NSvFlags">265</int>
                                                                                                <string key="NSFrame">{{407, 164}, {133, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="802059200"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="73578210">
                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 172}, {86, 18}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="343070533"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="428850916">
                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                        <object class="NSView" id="1000204505">
                                                                                                                <reference key="NSNextResponder" ref="184192603"/>
-                                                                                                               <int key="NSvFlags">256</int>
+                                                                                                               <int key="NSvFlags">274</int>
                                                                                                                <object class="NSMutableArray" key="NSSubviews">
                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                        <object class="NSButton" id="478533800">
                                                                                                                                <int key="NSvFlags">268</int>
                                                                                                                                <string key="NSFrame">{{5, 32}, {75, 18}}</string>
                                                                                                                                <reference key="NSSuperview" ref="1000204505"/>
+                                                                                                                               <reference key="NSWindow"/>
+                                                                                                                               <reference key="NSNextKeyView" ref="541208829"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSButtonCell" key="NSCell" id="989004902">
                                                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                                                <int key="NSvFlags">268</int>
                                                                                                                                <string key="NSFrame">{{5, 12}, {167, 18}}</string>
                                                                                                                                <reference key="NSSuperview" ref="1000204505"/>
+                                                                                                                               <reference key="NSWindow"/>
+                                                                                                                               <reference key="NSNextKeyView" ref="210387551"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSButtonCell" key="NSCell" id="95048095">
                                                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                                                <int key="NSvFlags">268</int>
                                                                                                                                <string key="NSFrame">{{5, 52}, {170, 18}}</string>
                                                                                                                                <reference key="NSSuperview" ref="1000204505"/>
+                                                                                                                               <reference key="NSWindow"/>
+                                                                                                                               <reference key="NSNextKeyView" ref="478533800"/>
                                                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                                                <object class="NSButtonCell" key="NSCell" id="855912809">
                                                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 1}, {193, 78}}</string>
                                                                                                                <reference key="NSSuperview" ref="184192603"/>
+                                                                                                               <reference key="NSWindow"/>
+                                                                                                               <reference key="NSNextKeyView" ref="239701474"/>
                                                                                                        </object>
                                                                                                </object>
                                                                                                <string key="NSFrame">{{113, 97}, {195, 94}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="1000204505"/>
                                                                                                <string key="NSOffsets">{0, 0}</string>
                                                                                                <object class="NSTextFieldCell" key="NSTitleCell">
                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 152}, {96, 18}}</string>
                                                                                                <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView" ref="184192603"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="237101992">
                                                                                                        <int key="NSCellFlags">67239424</int>
                                                                                                        <int key="NSPeriodicInterval">25</int>
                                                                                                </object>
                                                                                        </object>
+                                                                                       <object class="NSCustomView" id="802059200">
+                                                                                               <reference key="NSNextResponder" ref="1020318718"/>
+                                                                                               <int key="NSvFlags">268</int>
+                                                                                               <string key="NSFrame">{{3, 3}, {400, 40}}</string>
+                                                                                               <reference key="NSSuperview" ref="1020318718"/>
+                                                                                               <reference key="NSWindow"/>
+                                                                                               <reference key="NSNextKeyView"/>
+                                                                                               <string key="NSReuseIdentifierKey">_NS:9</string>
+                                                                                               <string key="NSClassName">SFAuthorizationView</string>
+                                                                                       </object>
                                                                                </object>
                                                                                <string key="NSFrame">{{10, 25}, {552, 363}}</string>
                                                                                <reference key="NSSuperview" ref="739317740"/>
+                                                                               <reference key="NSWindow"/>
+                                                                               <reference key="NSNextKeyView" ref="440720679"/>
                                                                        </object>
                                                                        <string key="NSLabel">Tokens</string>
                                                                        <reference key="NSColor" ref="568311573"/>
                                                                                                                                        <string>AXDescription</string>
                                                                                                                                        <string>NSAccessibilityEncodedAttributesValueType</string>
                                                                                                                                </object>
-                                                                                                                               <object class="NSMutableArray" key="dict.values">
+                                                                                                                               <object class="NSArray" key="dict.values">
                                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                        <string>cancel</string>
                                                                                                                                        <integer value="1"/>
                                                                                                                                <reference key="NSBackgroundColor" ref="400556243"/>
                                                                                                                                <reference key="NSGridColor" ref="850792713"/>
                                                                                                                                <double key="NSRowHeight">15</double>
-                                                                                                                               <int key="NSTvFlags">1522532352</int>
+                                                                                                                               <int key="NSTvFlags">2059403264</int>
                                                                                                                                <reference key="NSDelegate"/>
                                                                                                                                <reference key="NSDataSource"/>
                                                                                                                                <int key="NSGridStyleMask">1</int>
                                                                                                                                <int key="NSDraggingSourceMaskForNonLocal">0</int>
                                                                                                                                <bool key="NSAllowsTypeSelect">YES</bool>
                                                                                                                                <int key="NSTableViewDraggingDestinationStyle">0</int>
+                                                                                                                               <int key="NSTableViewGroupRowStyle">1</int>
                                                                                                                        </object>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 17}, {516, 271}}</string>
                                                                                                <string key="NSFrame">{{15, 41}, {518, 289}}</string>
                                                                                                <reference key="NSSuperview" ref="1069727156"/>
                                                                                                <reference key="NSNextKeyView" ref="259172039"/>
-                                                                                               <int key="NSsFlags">562</int>
+                                                                                               <int key="NSsFlags">133682</int>
                                                                                                <reference key="NSVScroller" ref="177605134"/>
                                                                                                <reference key="NSHScroller" ref="172641834"/>
                                                                                                <reference key="NSContentView" ref="259172039"/>
                                                                                                <reference key="NSHeaderClipView" ref="281754774"/>
-                                                                                               <reference key="NSCornerView" ref="772760699"/>
                                                                                                <bytes key="NSScrollAmts">QSAAAEEgAABBiAAAQYgAAA</bytes>
                                                                                        </object>
                                                                                        <object class="NSTextField" id="747536303">
                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                        <object class="NSView" id="1006532054">
                                                                                                                <reference key="NSNextResponder" ref="1056952440"/>
-                                                                                                               <int key="NSvFlags">256</int>
+                                                                                                               <int key="NSvFlags">274</int>
                                                                                                                <object class="NSMutableArray" key="NSSubviews">
                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                        <object class="NSTextField" id="748314809">
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveFormat</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <integer value="1"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                <nil key="NS.nil"/>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <object class="NSDictionary" key="NSAttributes" id="383448102">
+                                                                                                                                                       <object class="NSDictionary" key="NSAttributes" id="571560357">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                                                                                                               <reference key="dict.sortedKeys" ref="0"/>
-                                                                                                                                                               <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                               <object class="NSArray" key="dict.sortedKeys" id="0">
                                                                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                </object>
+                                                                                                                                                               <reference key="dict.values" ref="0"/>
                                                                                                                                                        </object>
                                                                                                                                                </object>
                                                                                                                                                <real value="1000" key="NS.min"/>
                                                                                                                                                                <string>minimumIntegerDigits</string>
                                                                                                                                                                <string>positiveFormat</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <integer value="1"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                <nil key="NS.nil"/>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="100" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                                                <string>minimumIntegerDigits</string>
                                                                                                                                                                <string>positiveFormat</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <integer value="1"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                <nil key="NS.nil"/>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <integer value="1" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveFormat</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <real value="0.0"/>
                                                                                                                                                                <real value="0.0"/>
                                                                                                                                                <nil key="NS.nil"/>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="10" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveFormat</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <integer value="1"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                <nil key="NS.nil"/>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="10000" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                <reference key="NSBackgroundColor" ref="400556243"/>
                                                                                                                                <reference key="NSGridColor" ref="850792713"/>
                                                                                                                                <double key="NSRowHeight">17</double>
-                                                                                                                               <int key="NSTvFlags">-557842432</int>
+                                                                                                                               <int key="NSTvFlags">-20971520</int>
                                                                                                                                <reference key="NSDelegate"/>
                                                                                                                                <reference key="NSDataSource"/>
                                                                                                                                <int key="NSGridStyleMask">2</int>
                                                                                                                                <int key="NSDraggingSourceMaskForNonLocal">0</int>
                                                                                                                                <bool key="NSAllowsTypeSelect">YES</bool>
                                                                                                                                <int key="NSTableViewDraggingDestinationStyle">0</int>
+                                                                                                                               <int key="NSTableViewGroupRowStyle">1</int>
                                                                                                                        </object>
                                                                                                                </object>
                                                                                                                <string key="NSFrame">{{1, 17}, {501, 283}}</string>
                                                                                                <string key="NSFrame">{{17, 41}, {518, 316}}</string>
                                                                                                <reference key="NSSuperview" ref="786994103"/>
                                                                                                <reference key="NSNextKeyView" ref="229139620"/>
-                                                                                               <int key="NSsFlags">50</int>
+                                                                                               <int key="NSsFlags">133170</int>
                                                                                                <reference key="NSVScroller" ref="497462431"/>
                                                                                                <reference key="NSHScroller" ref="145484441"/>
                                                                                                <reference key="NSContentView" ref="229139620"/>
                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                        <object class="NSView" id="660074200">
                                                                                                                <reference key="NSNextResponder" ref="731215349"/>
-                                                                                                               <int key="NSvFlags">256</int>
+                                                                                                               <int key="NSvFlags">274</int>
                                                                                                                <object class="NSMutableArray" key="NSSubviews">
                                                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                        <object class="NSTextField" id="628152029">
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="60" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="60" key="NS.min"/>
                                                                                                                                                <reference key="NS.max" ref="139642944"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="0.0" key="NS.min"/>
                                                                                                                                                <real value="30" key="NS.max"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="0.0" key="NS.min"/>
                                                                                                                                                <real value="24" key="NS.max"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="0.0" key="NS.min"/>
                                                                                                                                                <real value="60" key="NS.max"/>
                                                                                                                                                                <string>numberStyle</string>
                                                                                                                                                                <string>positiveInfinitySymbol</string>
                                                                                                                                                        </object>
-                                                                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                                                                <boolean value="YES"/>
                                                                                                                                                                <integer value="1040"/>
                                                                                                                                                </object>
                                                                                                                                                <object class="NSAttributedString" key="NS.nan">
                                                                                                                                                        <string key="NSString">NaN</string>
-                                                                                                                                                       <reference key="NSAttributes" ref="383448102"/>
+                                                                                                                                                       <reference key="NSAttributes" ref="571560357"/>
                                                                                                                                                </object>
                                                                                                                                                <real value="0.0" key="NS.min"/>
                                                                                                                                                <real value="60" key="NS.max"/>
                                                        <int key="NSvFlags">289</int>
                                                        <string key="NSFrame">{{323, 3}, {258, 11}}</string>
                                                        <reference key="NSSuperview" ref="645279396"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView"/>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <object class="NSTextFieldCell" key="NSCell" id="999146642">
                                                                <int key="NSCellFlags">68288064</int>
                                        </object>
                                        <string key="NSFrameSize">{595, 486}</string>
                                        <reference key="NSSuperview"/>
+                                       <reference key="NSWindow"/>
+                                       <reference key="NSNextKeyView" ref="748501112"/>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
-                               <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+                               <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+                               <bool key="NSWindowIsRestorable">YES</bool>
                        </object>
                        <object class="NSWindowTemplate" id="52789773">
                                <int key="NSWindowStyleMask">9</int>
                                <object class="NSMutableString" key="NSViewClass">
                                        <characters key="NS.bytes">View</characters>
                                </object>
-                               <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
+                               <nil key="NSUserInterfaceItemIdentifier"/>
                                <object class="NSView" key="NSWindowView" id="1017822711">
                                        <nil key="NSNextResponder"/>
                                        <int key="NSvFlags">256</int>
                                                                                <object class="NSTextView" id="297493656">
                                                                                        <reference key="NSNextResponder" ref="853671207"/>
                                                                                        <int key="NSvFlags">2322</int>
-                                                                                       <string key="NSFrameSize">{662, 14}</string>
+                                                                                       <string key="NSFrameSize">{673, 14}</string>
                                                                                        <reference key="NSSuperview" ref="853671207"/>
                                                                                        <object class="NSTextContainer" key="NSTextContainer" id="512204159">
                                                                                                <object class="NSLayoutManager" key="NSLayoutManager">
                                                                                                        <nil key="NSDelegate"/>
                                                                                                </object>
                                                                                                <reference key="NSTextView" ref="297493656"/>
-                                                                                               <double key="NSWidth">662</double>
+                                                                                               <double key="NSWidth">673</double>
                                                                                                <int key="NSTCFlags">1</int>
                                                                                        </object>
                                                                                        <object class="NSTextViewSharedData" key="NSSharedData">
-                                                                                               <int key="NSFlags">2913</int>
+                                                                                               <int key="NSFlags">67111777</int>
                                                                                                <int key="NSTextCheckingTypes">0</int>
                                                                                                <nil key="NSMarkedAttributes"/>
                                                                                                <reference key="NSBackgroundColor" ref="400556243"/>
                                                                                                                <string>NSBackgroundColor</string>
                                                                                                                <string>NSColor</string>
                                                                                                        </object>
-                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                <object class="NSColor">
                                                                                                                        <int key="NSColorSpace">6</int>
                                                                                                                <string>NSColor</string>
                                                                                                                <string>NSUnderline</string>
                                                                                                        </object>
-                                                                                                       <object class="NSMutableArray" key="dict.values">
+                                                                                                       <object class="NSArray" key="dict.values">
                                                                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                <object class="NSColor">
                                                                                                                        <int key="NSColorSpace">1</int>
                                                                                                        </object>
                                                                                                </object>
                                                                                                <nil key="NSDefaultParagraphStyle"/>
+                                                                                               <nil key="NSTextFinder"/>
+                                                                                               <int key="NSPreferredTextFinderStyle">0</int>
                                                                                        </object>
                                                                                        <int key="NSTVFlags">6</int>
-                                                                                       <string key="NSMaxSize">{1337, 1e+07}</string>
+                                                                                       <string key="NSMaxSize">{1337, 10000000}</string>
                                                                                        <string key="NSMinize">{114, 0}</string>
                                                                                        <nil key="NSDelegate"/>
                                                                                </object>
                                                                        </object>
-                                                                       <string key="NSFrame">{{1, 1}, {662, 423}}</string>
+                                                                       <string key="NSFrame">{{1, 1}, {673, 423}}</string>
                                                                        <reference key="NSSuperview" ref="935020490"/>
                                                                        <reference key="NSNextKeyView" ref="297493656"/>
                                                                        <reference key="NSDocView" ref="297493656"/>
                                                                        <reference key="NSBGColor" ref="400556243"/>
                                                                        <object class="NSCursor" key="NSCursor">
-                                                                               <string key="NSHotSpot">{4, -5}</string>
-                                                                               <int key="NSCursorType">1</int>
+                                                                               <string key="NSHotSpot">{4, 5}</string>
+                                                                               <object class="NSImage" key="NSImage">
+                                                                                       <int key="NSImageFlags">79691776</int>
+                                                                                       <object class="NSArray" key="NSReps">
+                                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                               <object class="NSArray">
+                                                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                                                       <integer value="5"/>
+                                                                                                       <object class="NSURL">
+                                                                                                               <nil key="NS.base"/>
+                                                                                                               <string key="NS.relative">file://localhost/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/DVTIbeamCursor.tiff</string>
+                                                                                                       </object>
+                                                                                               </object>
+                                                                                       </object>
+                                                                                       <object class="NSColor" key="NSColor">
+                                                                                               <int key="NSColorSpace">3</int>
+                                                                                               <bytes key="NSWhite">MCAwAA</bytes>
+                                                                                       </object>
+                                                                               </object>
                                                                        </object>
                                                                        <int key="NScvFlags">4</int>
                                                                </object>
                                                        <string key="NSFrame">{{20, 40}, {675, 425}}</string>
                                                        <reference key="NSSuperview" ref="1017822711"/>
                                                        <reference key="NSNextKeyView" ref="853671207"/>
-                                                       <int key="NSsFlags">18</int>
+                                                       <int key="NSsFlags">133138</int>
                                                        <reference key="NSVScroller" ref="11642274"/>
                                                        <reference key="NSHScroller" ref="574894181"/>
                                                        <reference key="NSContentView" ref="853671207"/>
                                        </object>
                                        <string key="NSFrameSize">{715, 485}</string>
                                </object>
-                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
-                               <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+                               <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+                               <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
+                               <bool key="NSWindowIsRestorable">YES</bool>
                        </object>
                        <object class="NSCustomObject" id="176554930">
                                <string key="NSClassName">InfoController</string>
                                        </object>
                                        <int key="connectionID">225</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">infoPanel</string>
-                                               <reference key="source" ref="176554930"/>
-                                               <reference key="destination" ref="52789773"/>
-                                       </object>
-                                       <int key="connectionID">226</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">texEditInfo</string>
-                                               <reference key="source" ref="176554930"/>
-                                               <reference key="destination" ref="297493656"/>
-                                       </object>
-                                       <int key="connectionID">227</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">closePanel:</string>
-                                               <reference key="source" ref="176554930"/>
-                                               <reference key="destination" ref="729692979"/>
-                                       </object>
-                                       <int key="connectionID">228</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">afsCommanderView</string>
                                        </object>
                                        <int key="connectionID">474</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">delegate</string>
-                                               <reference key="source" ref="739317740"/>
-                                               <reference key="destination" ref="773588579"/>
-                                       </object>
-                                       <int key="connectionID">669</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">textSearchField</string>
                                        </object>
                                        <int key="connectionID">817</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">delegate</string>
-                                               <reference key="source" ref="530233415"/>
-                                               <reference key="destination" ref="773588579"/>
-                                       </object>
-                                       <int key="connectionID">886</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
                                                <string key="label">startStopAfs:</string>
                                        </object>
                                        <int key="connectionID">2059</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">dataSource</string>
-                                               <reference key="source" ref="1029505942"/>
-                                               <reference key="destination" ref="773588579"/>
-                                       </object>
-                                       <int key="connectionID">2060</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">delegate</string>
-                                               <reference key="source" ref="1029505942"/>
-                                               <reference key="destination" ref="773588579"/>
-                                       </object>
-                                       <int key="connectionID">2061</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">buttonRemoveLink</string>
                                        </object>
                                        <int key="connectionID">2093</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntegerValueFrom:</string>
-                                               <reference key="source" ref="724013147"/>
-                                               <reference key="destination" ref="719182296"/>
-                                       </object>
-                                       <int key="connectionID">2104</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntegerValueFrom:</string>
-                                               <reference key="source" ref="791385502"/>
-                                               <reference key="destination" ref="338319881"/>
-                                       </object>
-                                       <int key="connectionID">2114</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntegerValueFrom:</string>
-                                               <reference key="source" ref="826525177"/>
-                                               <reference key="destination" ref="564887063"/>
-                                       </object>
-                                       <int key="connectionID">2120</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntegerValueFrom:</string>
-                                               <reference key="source" ref="338319881"/>
-                                               <reference key="destination" ref="791385502"/>
-                                       </object>
-                                       <int key="connectionID">2127</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntValueFrom:</string>
-                                               <reference key="source" ref="719182296"/>
-                                               <reference key="destination" ref="724013147"/>
-                                       </object>
-                                       <int key="connectionID">2128</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntValueFrom:</string>
-                                               <reference key="source" ref="564887063"/>
-                                               <reference key="destination" ref="826525177"/>
-                                       </object>
-                                       <int key="connectionID">2129</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntegerValueFrom:</string>
-                                               <reference key="source" ref="681255345"/>
-                                               <reference key="destination" ref="724827539"/>
-                                       </object>
-                                       <int key="connectionID">2140</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">takeIntValueFrom:</string>
-                                               <reference key="source" ref="724827539"/>
-                                               <reference key="destination" ref="681255345"/>
-                                       </object>
-                                       <int key="connectionID">2141</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">nsTextFieldKrb5RenewTimeD</string>
                                        </object>
                                        <int key="connectionID">2149</int>
                                </object>
-                       </object>
-                       <object class="IBMutableOrderedSet" key="objectRecords">
-                               <object class="NSArray" key="orderedObjects">
-                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">0</int>
-                                               <reference key="object" ref="0"/>
-                                               <reference key="children" ref="84888716"/>
-                                               <nil key="parent"/>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">authView</string>
+                                               <reference key="source" ref="773588579"/>
+                                               <reference key="destination" ref="802059200"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">-2</int>
-                                               <reference key="object" ref="773588579"/>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">File's Owner</string>
+                                       <int key="connectionID">2151</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">delegate</string>
+                                               <reference key="source" ref="739317740"/>
+                                               <reference key="destination" ref="773588579"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">-1</int>
-                                               <reference key="object" ref="270520968"/>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">First Responder</string>
+                                       <int key="connectionID">669</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">delegate</string>
+                                               <reference key="source" ref="530233415"/>
+                                               <reference key="destination" ref="773588579"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">-3</int>
-                                               <reference key="object" ref="173116405"/>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">Application</string>
+                                       <int key="connectionID">886</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">infoPanel</string>
+                                               <reference key="source" ref="176554930"/>
+                                               <reference key="destination" ref="52789773"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">12</int>
-                                               <reference key="object" ref="61231707"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="645279396"/>
-                                               </object>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">PrefPane</string>
+                                       <int key="connectionID">226</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">texEditInfo</string>
+                                               <reference key="source" ref="176554930"/>
+                                               <reference key="destination" ref="297493656"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">6</int>
-                                               <reference key="object" ref="645279396"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="1047946385"/>
-                                                       <reference ref="415603882"/>
-                                                       <reference ref="739317740"/>
-                                                       <reference ref="748501112"/>
-                                               </object>
-                                               <reference key="parent" ref="61231707"/>
+                                       <int key="connectionID">227</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">closePanel:</string>
+                                               <reference key="source" ref="176554930"/>
+                                               <reference key="destination" ref="729692979"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">101</int>
-                                               <reference key="object" ref="739317740"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="269508902"/>
-                                                       <reference ref="443722606"/>
-                                                       <reference ref="584361947"/>
-                                                       <reference ref="126070858"/>
-                                                       <reference ref="585584503"/>
-                                               </object>
-                                               <reference key="parent" ref="645279396"/>
+                                       <int key="connectionID">228</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">dataSource</string>
+                                               <reference key="source" ref="1029505942"/>
+                                               <reference key="destination" ref="773588579"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">104</int>
-                                               <reference key="object" ref="269508902"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="1020318718"/>
-                                               </object>
-                                               <reference key="parent" ref="739317740"/>
+                                       <int key="connectionID">2060</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">delegate</string>
+                                               <reference key="source" ref="1029505942"/>
+                                               <reference key="destination" ref="773588579"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">105</int>
+                                       <int key="connectionID">2061</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntValueFrom:</string>
+                                               <reference key="source" ref="719182296"/>
+                                               <reference key="destination" ref="724013147"/>
+                                       </object>
+                                       <int key="connectionID">2128</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntegerValueFrom:</string>
+                                               <reference key="source" ref="724013147"/>
+                                               <reference key="destination" ref="719182296"/>
+                                       </object>
+                                       <int key="connectionID">2104</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntegerValueFrom:</string>
+                                               <reference key="source" ref="338319881"/>
+                                               <reference key="destination" ref="791385502"/>
+                                       </object>
+                                       <int key="connectionID">2127</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntegerValueFrom:</string>
+                                               <reference key="source" ref="791385502"/>
+                                               <reference key="destination" ref="338319881"/>
+                                       </object>
+                                       <int key="connectionID">2114</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntValueFrom:</string>
+                                               <reference key="source" ref="564887063"/>
+                                               <reference key="destination" ref="826525177"/>
+                                       </object>
+                                       <int key="connectionID">2129</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntegerValueFrom:</string>
+                                               <reference key="source" ref="826525177"/>
+                                               <reference key="destination" ref="564887063"/>
+                                       </object>
+                                       <int key="connectionID">2120</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntValueFrom:</string>
+                                               <reference key="source" ref="724827539"/>
+                                               <reference key="destination" ref="681255345"/>
+                                       </object>
+                                       <int key="connectionID">2141</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">takeIntegerValueFrom:</string>
+                                               <reference key="source" ref="681255345"/>
+                                               <reference key="destination" ref="724827539"/>
+                                       </object>
+                                       <int key="connectionID">2140</int>
+                               </object>
+                       </object>
+                       <object class="IBMutableOrderedSet" key="objectRecords">
+                               <object class="NSArray" key="orderedObjects">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">0</int>
+                                               <reference key="object" ref="0"/>
+                                               <reference key="children" ref="84888716"/>
+                                               <nil key="parent"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-2</int>
+                                               <reference key="object" ref="773588579"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">File's Owner</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-1</int>
+                                               <reference key="object" ref="270520968"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">First Responder</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-3</int>
+                                               <reference key="object" ref="173116405"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Application</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">12</int>
+                                               <reference key="object" ref="61231707"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="645279396"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">PrefPane</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">6</int>
+                                               <reference key="object" ref="645279396"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1047946385"/>
+                                                       <reference ref="415603882"/>
+                                                       <reference ref="739317740"/>
+                                                       <reference ref="748501112"/>
+                                               </object>
+                                               <reference key="parent" ref="61231707"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">101</int>
+                                               <reference key="object" ref="739317740"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="269508902"/>
+                                                       <reference ref="443722606"/>
+                                                       <reference ref="584361947"/>
+                                                       <reference ref="126070858"/>
+                                                       <reference ref="585584503"/>
+                                               </object>
+                                               <reference key="parent" ref="645279396"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">104</int>
+                                               <reference key="object" ref="269508902"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1020318718"/>
+                                               </object>
+                                               <reference key="parent" ref="739317740"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">105</int>
                                                <reference key="object" ref="1020318718"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <reference ref="893552286"/>
                                                        <reference ref="343070533"/>
                                                        <reference ref="210387551"/>
+                                                       <reference ref="802059200"/>
                                                </object>
                                                <reference key="parent" ref="269508902"/>
                                        </object>
                                                <reference key="object" ref="426972560"/>
                                                <reference key="parent" ref="724827539"/>
                                        </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">2150</int>
+                                               <reference key="object" ref="802059200"/>
+                                               <reference key="parent" ref="1020318718"/>
+                                       </object>
                                </object>
                        </object>
                        <object class="NSMutableDictionary" key="flattenedProperties">
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <object class="NSArray" key="dict.sortedKeys">
                                        <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>-1.IBPluginDependency</string>
+                                       <string>-2.IBPluginDependency</string>
                                        <string>-3.IBPluginDependency</string>
-                                       <string>-3.ImportedFromIB2</string>
                                        <string>101.IBPluginDependency</string>
-                                       <string>101.ImportedFromIB2</string>
                                        <string>104.IBPluginDependency</string>
-                                       <string>104.ImportedFromIB2</string>
                                        <string>105.IBPluginDependency</string>
-                                       <string>105.ImportedFromIB2</string>
                                        <string>1103.IBPluginDependency</string>
-                                       <string>1103.ImportedFromIB2</string>
                                        <string>1107.IBPluginDependency</string>
-                                       <string>1107.ImportedFromIB2</string>
                                        <string>1111.IBPluginDependency</string>
-                                       <string>1111.ImportedFromIB2</string>
                                        <string>1122.IBPluginDependency</string>
-                                       <string>1122.ImportedFromIB2</string>
                                        <string>1199.IBPluginDependency</string>
-                                       <string>1199.ImportedFromIB2</string>
-                                       <string>12.IBEditorWindowLastContentRect</string>
                                        <string>12.IBPluginDependency</string>
-                                       <string>12.IBViewEditorWindowController.showingBoundsRectangles</string>
-                                       <string>12.IBViewEditorWindowController.showingLayoutRectangles</string>
                                        <string>12.IBWindowTemplateEditedContentRect</string>
-                                       <string>12.ImportedFromIB2</string>
-                                       <string>12.windowTemplate.hasMinSize</string>
-                                       <string>12.windowTemplate.maxSize</string>
-                                       <string>12.windowTemplate.minSize</string>
                                        <string>1203.IBPluginDependency</string>
-                                       <string>1203.ImportedFromIB2</string>
                                        <string>1204.IBPluginDependency</string>
-                                       <string>1204.ImportedFromIB2</string>
                                        <string>1207.IBPluginDependency</string>
-                                       <string>1207.ImportedFromIB2</string>
                                        <string>1209.IBPluginDependency</string>
-                                       <string>1209.ImportedFromIB2</string>
                                        <string>1280.IBPluginDependency</string>
-                                       <string>1280.ImportedFromIB2</string>
                                        <string>1422.IBPluginDependency</string>
-                                       <string>1422.ImportedFromIB2</string>
                                        <string>1426.IBPluginDependency</string>
-                                       <string>1426.ImportedFromIB2</string>
                                        <string>1715.IBPluginDependency</string>
-                                       <string>1715.ImportedFromIB2</string>
                                        <string>177.IBPluginDependency</string>
-                                       <string>177.ImportedFromIB2</string>
                                        <string>178.IBPluginDependency</string>
-                                       <string>178.ImportedFromIB2</string>
                                        <string>1787.IBPluginDependency</string>
-                                       <string>1787.ImportedFromIB2</string>
                                        <string>1789.IBPluginDependency</string>
-                                       <string>1789.ImportedFromIB2</string>
                                        <string>179.IBPluginDependency</string>
-                                       <string>179.ImportedFromIB2</string>
                                        <string>180.IBPluginDependency</string>
-                                       <string>180.ImportedFromIB2</string>
                                        <string>181.IBPluginDependency</string>
-                                       <string>181.ImportedFromIB2</string>
                                        <string>182.IBPluginDependency</string>
-                                       <string>182.ImportedFromIB2</string>
                                        <string>183.IBPluginDependency</string>
-                                       <string>183.ImportedFromIB2</string>
                                        <string>184.IBPluginDependency</string>
-                                       <string>184.ImportedFromIB2</string>
                                        <string>1845.IBPluginDependency</string>
-                                       <string>1845.ImportedFromIB2</string>
                                        <string>185.IBPluginDependency</string>
-                                       <string>185.ImportedFromIB2</string>
                                        <string>186.IBPluginDependency</string>
-                                       <string>186.ImportedFromIB2</string>
                                        <string>1902.IBPluginDependency</string>
-                                       <string>1902.ImportedFromIB2</string>
                                        <string>1960.IBAttributePlaceholdersKey</string>
                                        <string>1960.IBPluginDependency</string>
-                                       <string>1960.ImportedFromIB2</string>
                                        <string>1964.IBPluginDependency</string>
                                        <string>1965.IBPluginDependency</string>
                                        <string>1966.IBPluginDependency</string>
                                        <string>1998.IBPluginDependency</string>
                                        <string>1999.IBPluginDependency</string>
                                        <string>200.IBPluginDependency</string>
-                                       <string>200.ImportedFromIB2</string>
                                        <string>2000.IBPluginDependency</string>
                                        <string>2000.IBShouldRemoveOnLegacySave</string>
                                        <string>2001.IBPluginDependency</string>
                                        <string>2066.IBPluginDependency</string>
                                        <string>2067.IBPluginDependency</string>
                                        <string>207.IBPluginDependency</string>
-                                       <string>207.ImportedFromIB2</string>
                                        <string>2071.IBPluginDependency</string>
                                        <string>2072.IBPluginDependency</string>
                                        <string>2073.IBAttributePlaceholdersKey</string>
                                        <string>2077.IBPluginDependency</string>
                                        <string>2078.IBPluginDependency</string>
                                        <string>2079.IBPluginDependency</string>
-                                       <string>208.IBEditorWindowLastContentRect</string>
                                        <string>208.IBPluginDependency</string>
                                        <string>208.IBWindowTemplateEditedContentRect</string>
-                                       <string>208.ImportedFromIB2</string>
-                                       <string>208.windowTemplate.hasMinSize</string>
-                                       <string>208.windowTemplate.maxSize</string>
-                                       <string>208.windowTemplate.minSize</string>
                                        <string>2080.IBNumberFormatterBehaviorMetadataKey</string>
                                        <string>2080.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>2080.IBPluginDependency</string>
                                        <string>2087.IBPluginDependency</string>
                                        <string>2088.IBPluginDependency</string>
                                        <string>209.IBPluginDependency</string>
-                                       <string>209.ImportedFromIB2</string>
                                        <string>2100.IBPluginDependency</string>
                                        <string>2101.IBPluginDependency</string>
                                        <string>2102.IBAttributePlaceholdersKey</string>
                                        <string>2138.IBPluginDependency</string>
                                        <string>2139.IBPluginDependency</string>
                                        <string>214.IBPluginDependency</string>
-                                       <string>214.ImportedFromIB2</string>
                                        <string>215.IBPluginDependency</string>
-                                       <string>215.ImportedFromIB2</string>
+                                       <string>2150.IBPluginDependency</string>
                                        <string>216.IBPluginDependency</string>
-                                       <string>216.ImportedFromIB2</string>
-                                       <string>224.ImportedFromIB2</string>
+                                       <string>224.IBPluginDependency</string>
                                        <string>265.IBPluginDependency</string>
-                                       <string>265.ImportedFromIB2</string>
                                        <string>337.IBPluginDependency</string>
-                                       <string>337.ImportedFromIB2</string>
                                        <string>338.IBPluginDependency</string>
-                                       <string>338.ImportedFromIB2</string>
                                        <string>339.IBPluginDependency</string>
-                                       <string>339.ImportedFromIB2</string>
                                        <string>340.IBPluginDependency</string>
-                                       <string>340.ImportedFromIB2</string>
                                        <string>342.IBPluginDependency</string>
-                                       <string>342.ImportedFromIB2</string>
                                        <string>344.IBAttributePlaceholdersKey</string>
                                        <string>344.IBPluginDependency</string>
-                                       <string>344.ImportedFromIB2</string>
                                        <string>345.IBPluginDependency</string>
-                                       <string>345.ImportedFromIB2</string>
                                        <string>348.IBAttributePlaceholdersKey</string>
                                        <string>348.IBPluginDependency</string>
-                                       <string>348.ImportedFromIB2</string>
                                        <string>349.IBPluginDependency</string>
-                                       <string>349.ImportedFromIB2</string>
                                        <string>352.IBPluginDependency</string>
-                                       <string>352.ImportedFromIB2</string>
                                        <string>400.IBPluginDependency</string>
-                                       <string>400.ImportedFromIB2</string>
                                        <string>402.IBPluginDependency</string>
-                                       <string>402.ImportedFromIB2</string>
                                        <string>404.IBAttributePlaceholdersKey</string>
                                        <string>404.IBPluginDependency</string>
-                                       <string>404.ImportedFromIB2</string>
                                        <string>406.IBPluginDependency</string>
-                                       <string>406.ImportedFromIB2</string>
                                        <string>408.IBAttributePlaceholdersKey</string>
                                        <string>408.IBPluginDependency</string>
-                                       <string>408.ImportedFromIB2</string>
                                        <string>411.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>411.IBPluginDependency</string>
-                                       <string>411.ImportedFromIB2</string>
                                        <string>413.IBPluginDependency</string>
-                                       <string>413.ImportedFromIB2</string>
                                        <string>415.IBAttributePlaceholdersKey</string>
                                        <string>415.IBPluginDependency</string>
-                                       <string>415.ImportedFromIB2</string>
                                        <string>417.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>417.IBPluginDependency</string>
-                                       <string>417.ImportedFromIB2</string>
                                        <string>425.IBPluginDependency</string>
-                                       <string>425.ImportedFromIB2</string>
                                        <string>475.IBPluginDependency</string>
-                                       <string>475.ImportedFromIB2</string>
                                        <string>6.IBPluginDependency</string>
-                                       <string>6.ImportedFromIB2</string>
                                        <string>740.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>740.IBPluginDependency</string>
-                                       <string>740.ImportedFromIB2</string>
                                        <string>741.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>741.IBPluginDependency</string>
-                                       <string>741.ImportedFromIB2</string>
                                        <string>742.IBNumberFormatterLocalizesFormatMetadataKey</string>
                                        <string>742.IBPluginDependency</string>
-                                       <string>742.ImportedFromIB2</string>
                                </object>
-                               <object class="NSMutableArray" key="dict.values">
+                               <object class="NSArray" key="dict.values">
                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>{{208, 366}, {595, 486}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <boolean value="NO"/>
-                                       <boolean value="NO"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>{{208, 366}, {595, 486}}</string>
-                                       <integer value="1"/>
-                                       <boolean value="NO"/>
-                                       <string>{3.40282e+38, 3.40282e+38}</string>
-                                       <string>{0, 0}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -5299,7 +5298,6 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -5353,7 +5351,6 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <object class="NSMutableDictionary">
@@ -5381,13 +5378,8 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>{{0, 510}, {715, 485}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>{{0, 510}, {715, 485}}</string>
-                                       <integer value="1"/>
-                                       <boolean value="NO"/>
-                                       <string>{3.40282e+38, 3.40282e+38}</string>
-                                       <string>{0, 0}</string>
                                        <integer value="1040"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -5403,7 +5395,6 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <object class="NSMutableDictionary">
@@ -5471,24 +5462,16 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
@@ -5498,9 +5481,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
@@ -5510,15 +5491,10 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
@@ -5528,9 +5504,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
@@ -5540,12 +5514,9 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <object class="NSMutableDictionary">
                                                <string key="NS.key.0">ToolTip</string>
                                                <object class="IBToolTipAttribute" key="NS.object.0">
@@ -5555,44 +5526,32 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                </object>
                                        </object>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <boolean value="YES"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                </object>
                        </object>
                        <object class="NSMutableDictionary" key="unlocalizedProperties">
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <reference key="dict.sortedKeys" ref="0"/>
-                               <object class="NSMutableArray" key="dict.values">
-                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                               </object>
+                               <reference key="dict.values" ref="0"/>
                        </object>
                        <nil key="activeLocalization"/>
                        <object class="NSMutableDictionary" key="localizations">
                                <bool key="EncodedWithXMLCoder">YES</bool>
                                <reference key="dict.sortedKeys" ref="0"/>
-                               <object class="NSMutableArray" key="dict.values">
-                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                               </object>
+                               <reference key="dict.values" ref="0"/>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">2149</int>
+                       <int key="maxID">2151</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -5628,7 +5587,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>tableViewLinkPerformClick:</string>
                                                        <string>unlog:</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>id</string>
                                                        <string>id</string>
@@ -5655,53 +5614,170 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>id</string>
                                                </object>
                                        </object>
-                                       <object class="NSMutableDictionary" key="outlets">
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                <object class="NSArray" key="dict.sortedKeys">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>addCellButton</string>
-                                                       <string>afsCommanderView</string>
-                                                       <string>afsDB</string>
-                                                       <string>afsDefaultCellLabel</string>
-                                                       <string>afsMenucheckBox</string>
-                                                       <string>afsRootMountPoint</string>
-                                                       <string>afsVersionLabel</string>
-                                                       <string>aklogCredentialAtLoginTime</string>
-                                                       <string>backgrounderActivationCheck</string>
-                                                       <string>buttonAddLink</string>
-                                                       <string>buttonRemoveLink</string>
-                                                       <string>cacheDimension</string>
-                                                       <string>cellIpButton</string>
-                                                       <string>cellList</string>
-                                                       <string>checkButtonAfsAtBootTime</string>
-                                                       <string>checkEnableLink</string>
-                                                       <string>credentialCommander</string>
-                                                       <string>credentialSheet</string>
-                                                       <string>dCacheDim</string>
-                                                       <string>daemonNumber</string>
-                                                       <string>dynRoot</string>
-                                                       <string>groupsBox</string>
-                                                       <string>infoController</string>
-                                                       <string>infoSheet</string>
-                                                       <string>installKRB5AuthAtLoginButton</string>
-                                                       <string>ipConfControllerCommander</string>
-                                                       <string>ipConfigurationSheet</string>
-                                                       <string>labelSaveResult</string>
-                                                       <string>lyncCreationSheet</string>
-                                                       <string>lynkCreationController</string>
-                                                       <string>nVolEntry</string>
-                                                       <string>nsButtonEnableDisableKrb5RenewCheck</string>
-                                                       <string>nsStepperKrb5RenewTimeD</string>
-                                                       <string>nsStepperKrb5RenewTimeH</string>
-                                                       <string>nsStepperKrb5RenewTimeM</string>
-                                                       <string>nsStepperKrb5RenewTimeS</string>
-                                                       <string>nsTextFieldKrb5RenewCheckIntervall</string>
-                                                       <string>nsTextFieldKrb5RenewTimeD</string>
-                                                       <string>nsTextFieldKrb5RenewTimeH</string>
-                                                       <string>nsTextFieldKrb5RenewTimeM</string>
-                                                       <string>nsTextFieldKrb5RenewTimeS</string>
-                                                       <string>nsTextFieldKrb5SecToExpireDateForRenew</string>
-                                                       <string>removeCellButton</string>
+                                                       <string>addLink:</string>
+                                                       <string>addRemoveCell:</string>
+                                                       <string>afsMenuActivationEvent:</string>
+                                                       <string>afsStartupSwitchEvent:</string>
+                                                       <string>aklogSwitchEvent:</string>
+                                                       <string>credentialAtLoginTimeEvent:</string>
+                                                       <string>enableDisableKrb5RenewCheck:</string>
+                                                       <string>enableLink:</string>
+                                                       <string>getNewToken:</string>
+                                                       <string>info:</string>
+                                                       <string>krb5KredentialAtLoginTimeEvent:</string>
+                                                       <string>krb5RenewParamChange:</string>
+                                                       <string>manageBackgrounderActivation:</string>
+                                                       <string>refreshConfiguration:</string>
+                                                       <string>removeLink:</string>
+                                                       <string>saveCacheManagerParam:</string>
+                                                       <string>saveConfiguration:</string>
+                                                       <string>searchCellTextEvent:</string>
+                                                       <string>showCellIP:</string>
+                                                       <string>startStopAfs:</string>
+                                                       <string>tableDoubleAction:</string>
+                                                       <string>tableViewLinkPerformClick:</string>
+                                                       <string>unlog:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">addLink:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">addRemoveCell:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">afsMenuActivationEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">afsStartupSwitchEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">aklogSwitchEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">credentialAtLoginTimeEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">enableDisableKrb5RenewCheck:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">enableLink:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">getNewToken:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">info:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">krb5KredentialAtLoginTimeEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">krb5RenewParamChange:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">manageBackgrounderActivation:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">refreshConfiguration:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">removeLink:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">saveCacheManagerParam:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">saveConfiguration:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">searchCellTextEvent:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">showCellIP:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">startStopAfs:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">tableDoubleAction:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">tableViewLinkPerformClick:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">unlog:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>addCellButton</string>
+                                                       <string>afsCommanderView</string>
+                                                       <string>afsDB</string>
+                                                       <string>afsDefaultCellLabel</string>
+                                                       <string>afsMenucheckBox</string>
+                                                       <string>afsRootMountPoint</string>
+                                                       <string>afsVersionLabel</string>
+                                                       <string>aklogCredentialAtLoginTime</string>
+                                                       <string>authView</string>
+                                                       <string>backgrounderActivationCheck</string>
+                                                       <string>buttonAddLink</string>
+                                                       <string>buttonRemoveLink</string>
+                                                       <string>cacheDimension</string>
+                                                       <string>cellIpButton</string>
+                                                       <string>cellList</string>
+                                                       <string>checkButtonAfsAtBootTime</string>
+                                                       <string>checkEnableLink</string>
+                                                       <string>dCacheDim</string>
+                                                       <string>daemonNumber</string>
+                                                       <string>dynRoot</string>
+                                                       <string>groupsBox</string>
+                                                       <string>installKRB5AuthAtLoginButton</string>
+                                                       <string>lynkCreationController</string>
+                                                       <string>nVolEntry</string>
+                                                       <string>nsButtonEnableDisableKrb5RenewCheck</string>
+                                                       <string>nsStepperKrb5RenewTimeD</string>
+                                                       <string>nsStepperKrb5RenewTimeH</string>
+                                                       <string>nsStepperKrb5RenewTimeM</string>
+                                                       <string>nsStepperKrb5RenewTimeS</string>
+                                                       <string>nsTextFieldKrb5RenewCheckIntervall</string>
+                                                       <string>nsTextFieldKrb5RenewTimeD</string>
+                                                       <string>nsTextFieldKrb5RenewTimeH</string>
+                                                       <string>nsTextFieldKrb5RenewTimeM</string>
+                                                       <string>nsTextFieldKrb5RenewTimeS</string>
+                                                       <string>nsTextFieldKrb5SecToExpireDateForRenew</string>
+                                                       <string>removeCellButton</string>
                                                        <string>saveConfigurationButton</string>
                                                        <string>startStopButton</string>
                                                        <string>statCacheEntry</string>
@@ -5714,7 +5790,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>useAklogCheck</string>
                                                        <string>verbose</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>NSControl</string>
                                                        <string>NSView</string>
@@ -5724,6 +5800,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>NSTextField</string>
                                                        <string>NSTextField</string>
                                                        <string>NSButton</string>
+                                                       <string>SFAuthorizationView</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
@@ -5732,19 +5809,11 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>NSTableView</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
                                                        <string>NSTextField</string>
                                                        <string>NSTextField</string>
                                                        <string>NSButton</string>
                                                        <string>NSBox</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
                                                        <string>NSButton</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
-                                                       <string>id</string>
                                                        <string>LynkCreationController</string>
                                                        <string>NSTextField</string>
                                                        <string>NSButton</string>
@@ -5772,38 +5841,253 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>NSButton</string>
                                                </object>
                                        </object>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBProjectSource</string>
-                                               <string key="minorKey">AFSCommanderPref.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">AFSCommanderPref</string>
-                                       <string key="superclassName">NSPreferencePane</string>
-                                       <object class="NSMutableDictionary" key="outlets">
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                <object class="NSArray" key="dict.sortedKeys">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>cellPopupButton</string>
-                                                       <string>getTokenButton</string>
+                                                       <string>addCellButton</string>
+                                                       <string>afsCommanderView</string>
+                                                       <string>afsDB</string>
+                                                       <string>afsDefaultCellLabel</string>
+                                                       <string>afsMenucheckBox</string>
+                                                       <string>afsRootMountPoint</string>
+                                                       <string>afsVersionLabel</string>
+                                                       <string>aklogCredentialAtLoginTime</string>
+                                                       <string>authView</string>
+                                                       <string>backgrounderActivationCheck</string>
+                                                       <string>buttonAddLink</string>
+                                                       <string>buttonRemoveLink</string>
+                                                       <string>cacheDimension</string>
+                                                       <string>cellIpButton</string>
+                                                       <string>cellList</string>
+                                                       <string>checkButtonAfsAtBootTime</string>
+                                                       <string>checkEnableLink</string>
+                                                       <string>dCacheDim</string>
+                                                       <string>daemonNumber</string>
+                                                       <string>dynRoot</string>
+                                                       <string>groupsBox</string>
+                                                       <string>installKRB5AuthAtLoginButton</string>
+                                                       <string>lynkCreationController</string>
+                                                       <string>nVolEntry</string>
+                                                       <string>nsButtonEnableDisableKrb5RenewCheck</string>
+                                                       <string>nsStepperKrb5RenewTimeD</string>
+                                                       <string>nsStepperKrb5RenewTimeH</string>
+                                                       <string>nsStepperKrb5RenewTimeM</string>
+                                                       <string>nsStepperKrb5RenewTimeS</string>
+                                                       <string>nsTextFieldKrb5RenewCheckIntervall</string>
+                                                       <string>nsTextFieldKrb5RenewTimeD</string>
+                                                       <string>nsTextFieldKrb5RenewTimeH</string>
+                                                       <string>nsTextFieldKrb5RenewTimeM</string>
+                                                       <string>nsTextFieldKrb5RenewTimeS</string>
+                                                       <string>nsTextFieldKrb5SecToExpireDateForRenew</string>
+                                                       <string>removeCellButton</string>
+                                                       <string>saveConfigurationButton</string>
+                                                       <string>startStopButton</string>
+                                                       <string>statCacheEntry</string>
+                                                       <string>tableViewLink</string>
+                                                       <string>textFieldDevInfoLabel</string>
+                                                       <string>textSearchField</string>
+                                                       <string>tokensButton</string>
+                                                       <string>tokensTable</string>
+                                                       <string>unlogButton</string>
+                                                       <string>useAklogCheck</string>
+                                                       <string>verbose</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>NSPopUpButton</string>
-                                                       <string>NSPopUpButton</string>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">addCellButton</string>
+                                                               <string key="candidateClassName">NSControl</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsCommanderView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsDB</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsDefaultCellLabel</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsMenucheckBox</string>
+                                                               <string key="candidateClassName">NSControl</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsRootMountPoint</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">afsVersionLabel</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">aklogCredentialAtLoginTime</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">authView</string>
+                                                               <string key="candidateClassName">SFAuthorizationView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">backgrounderActivationCheck</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">buttonAddLink</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">buttonRemoveLink</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">cacheDimension</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">cellIpButton</string>
+                                                               <string key="candidateClassName">NSControl</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">cellList</string>
+                                                               <string key="candidateClassName">NSTableView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">checkButtonAfsAtBootTime</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">checkEnableLink</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">dCacheDim</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">daemonNumber</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">dynRoot</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">groupsBox</string>
+                                                               <string key="candidateClassName">NSBox</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">installKRB5AuthAtLoginButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">lynkCreationController</string>
+                                                               <string key="candidateClassName">LynkCreationController</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nVolEntry</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsButtonEnableDisableKrb5RenewCheck</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsStepperKrb5RenewTimeD</string>
+                                                               <string key="candidateClassName">NSStepper</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsStepperKrb5RenewTimeH</string>
+                                                               <string key="candidateClassName">NSStepper</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsStepperKrb5RenewTimeM</string>
+                                                               <string key="candidateClassName">NSStepper</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsStepperKrb5RenewTimeS</string>
+                                                               <string key="candidateClassName">NSStepper</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5RenewCheckIntervall</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5RenewTimeD</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5RenewTimeH</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5RenewTimeM</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5RenewTimeS</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">nsTextFieldKrb5SecToExpireDateForRenew</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">removeCellButton</string>
+                                                               <string key="candidateClassName">NSControl</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">saveConfigurationButton</string>
+                                                               <string key="candidateClassName">NSControl</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">startStopButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">statCacheEntry</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">tableViewLink</string>
+                                                               <string key="candidateClassName">NSTableView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">textFieldDevInfoLabel</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">textSearchField</string>
+                                                               <string key="candidateClassName">NSSearchField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">tokensButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">tokensTable</string>
+                                                               <string key="candidateClassName">NSTableView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">unlogButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">useAklogCheck</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">verbose</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
                                                </object>
                                        </object>
                                        <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"/>
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/AFSCommanderPref.h</string>
                                        </object>
                                </object>
                                <object class="IBPartialClassDescription">
@@ -5813,30 +6097,16 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                <string key="NS.key.0">closePanel:</string>
                                                <string key="NS.object.0">id</string>
                                        </object>
-                                       <object class="NSMutableDictionary" key="outlets">
-                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                               <object class="NSArray" key="dict.sortedKeys">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>infoPanel</string>
-                                                       <string>texEditInfo</string>
-                                               </object>
-                                               <object class="NSMutableArray" key="dict.values">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>id</string>
-                                                       <string>id</string>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <string key="NS.key.0">closePanel:</string>
+                                               <object class="IBActionInfo" key="NS.object.0">
+                                                       <string key="name">closePanel:</string>
+                                                       <string key="candidateClassName">id</string>
                                                </object>
                                        </object>
                                        <object class="IBClassDescriptionSource" key="sourceIdentifier">
                                                <string key="majorKey">IBProjectSource</string>
-                                               <string key="minorKey">InfoController.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">InfoController</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBUserSource</string>
-                                               <string key="minorKey"/>
+                                               <string key="minorKey">./Classes/InfoController.h</string>
                                        </object>
                                </object>
                                <object class="IBPartialClassDescription">
@@ -5850,13 +6120,37 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>save:</string>
                                                        <string>selectLinkDest:</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>id</string>
                                                        <string>id</string>
                                                        <string>id</string>
                                                </object>
                                        </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>cancell:</string>
+                                                       <string>save:</string>
+                                                       <string>selectLinkDest:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">cancell:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">save:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">selectLinkDest:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                               </object>
+                                       </object>
                                        <object class="NSMutableDictionary" key="outlets">
                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                <object class="NSArray" key="dict.sortedKeys">
@@ -5865,402 +6159,40 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>textFieldLinkDestPath</string>
                                                        <string>textfieldLinkName</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>NSPanel</string>
                                                        <string>NSTextField</string>
                                                        <string>NSTextField</string>
                                                </object>
                                        </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>lynkCreationSheet</string>
+                                                       <string>textFieldLinkDestPath</string>
+                                                       <string>textfieldLinkName</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">lynkCreationSheet</string>
+                                                               <string key="candidateClassName">NSPanel</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">textFieldLinkDestPath</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">textfieldLinkName</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                               </object>
+                                       </object>
                                        <object class="IBClassDescriptionSource" key="sourceIdentifier">
                                                <string key="majorKey">IBProjectSource</string>
-                                               <string key="minorKey">LynkCreationController.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSPreferencePane</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBUserSource</string>
-                                               <string key="minorKey"/>
-                                       </object>
-                               </object>
-                       </object>
-                       <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
-                               <bool key="EncodedWithXMLCoder">YES</bool>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSActionCell</string>
-                                       <string key="superclassName">NSCell</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <string key="superclassName">NSResponder</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="204676479">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="621097933">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="104909186">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSApplication</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSBox</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSBox.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSButton</string>
-                                       <string key="superclassName">NSControl</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSButton.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSButtonCell</string>
-                                       <string key="superclassName">NSActionCell</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSCell</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSControl</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="41055177">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSFormatter</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSMenu</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="734906022">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSNumberFormatter</string>
-                                       <string key="superclassName">NSFormatter</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSNumberFormatter.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <reference key="sourceIdentifier" ref="204676479"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <reference key="sourceIdentifier" ref="621097933"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <reference key="sourceIdentifier" ref="104909186"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <reference key="sourceIdentifier" ref="41055177"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <reference key="sourceIdentifier" ref="734906022"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="616595462">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="354787859">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSPanel</string>
-                                       <string key="superclassName">NSWindow</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSPanel.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSPopUpButton</string>
-                                       <string key="superclassName">NSButton</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSPopUpButton.h</string>
+                                               <string key="minorKey">./Classes/LynkCreationController.h</string>
                                        </object>
                                </object>
                                <object class="IBPartialClassDescription">
@@ -6275,7 +6207,7 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>_lastKeyView</string>
                                                        <string>_window</string>
                                                </object>
-                                               <object class="NSMutableArray" key="dict.values">
+                                               <object class="NSArray" key="dict.values">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                        <string>NSView</string>
                                                        <string>NSView</string>
@@ -6283,189 +6215,38 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                                                        <string>NSWindow</string>
                                                </object>
                                        </object>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">PreferencePanes.framework/Headers/NSPreferencePane.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSResponder</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSResponder</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSScrollView</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSScrollView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSScroller</string>
-                                       <string key="superclassName">NSControl</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSScroller.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSSearchField</string>
-                                       <string key="superclassName">NSTextField</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSSearchField.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSSearchFieldCell</string>
-                                       <string key="superclassName">NSTextFieldCell</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSSearchFieldCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSStepper</string>
-                                       <string key="superclassName">NSControl</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSStepper.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSStepperCell</string>
-                                       <string key="superclassName">NSActionCell</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSStepperCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTabView</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTabView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTabViewItem</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTabViewItem.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTableColumn</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTableColumn.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTableHeaderView</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTableHeaderView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTableView</string>
-                                       <string key="superclassName">NSControl</string>
-                                       <reference key="sourceIdentifier" ref="616595462"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSText</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSText.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTextField</string>
-                                       <string key="superclassName">NSControl</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTextFieldCell</string>
-                                       <string key="superclassName">NSActionCell</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSTextView</string>
-                                       <string key="superclassName">NSText</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSView</string>
-                                       <string key="superclassName">NSResponder</string>
-                                       <reference key="sourceIdentifier" ref="354787859"/>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSWindow</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
-                                       </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSWindow</string>
-                                       <string key="superclassName">NSResponder</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>_firstKeyView</string>
+                                                       <string>_initialKeyView</string>
+                                                       <string>_lastKeyView</string>
+                                                       <string>_window</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">_firstKeyView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">_initialKeyView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">_lastKeyView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">_window</string>
+                                                               <string key="candidateClassName">NSWindow</string>
+                                                       </object>
+                                               </object>
                                        </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">NSWindow</string>
                                        <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBFrameworkSource</string>
-                                               <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NSPreferencePane.h</string>
                                        </object>
                                </object>
                        </object>
@@ -6481,7 +6262,6 @@ Zm9yIGRlYnVnZ2luZyBhcyBpdCBwcmludHMgYSBMT1Qgb2YgaW5mb3JtYXRpb24uCg</string>
                        <integer value="3000" key="NS.object.0"/>
                </object>
                <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
-               <string key="IBDocument.LastKnownRelativeProjectPath">../OpenAFS.xcodeproj</string>
                <int key="IBDocument.defaultPropertyAccessControl">3</int>
                <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
                        <string key="NS.key.0">NSSwitch</string>
index 30423976f420c34a2b0668ed4b08c5e277d4b2ae..70a50abb781c9edcf6706e80374f2dfee414dfc0 100644 (file)
@@ -16,8 +16,8 @@
 // -------------------------------------------------------------------------------
 - (void)awakeFromNib
 {
-       [((NSTableView*)tableViewCellIP) setDelegate:self];
-       [((NSTableView*)tableViewCellIP) setDataSource:self];
+       [tableViewCellIP setDelegate:self];
+       [tableViewCellIP setDataSource:self];
 }
 
 // -------------------------------------------------------------------------------
@@ -44,8 +44,8 @@
 - (void) commitModify
 {
        //store the cell name
-       [cellElement setCellName:[((NSControl*) textFieldCellName) stringValue]];
-       [cellElement setCellComment:[((NSControl*) textFieldComment) stringValue]];
+       [cellElement setCellName:[textFieldCellName stringValue]];
+       [cellElement setCellComment:[textFieldComment stringValue]];
        [bkIPArray removeAllObjects];
        [bkIPArray setArray:workIPArray];
        [workIPArray release];
@@ -81,8 +81,8 @@
        [workIPArray addObject:ip];
        [ip release];
        currentSelectedIP = ip;
-       [((NSTableView*)tableViewCellIP) reloadData];
-       [((NSTableView *) tableViewCellIP)  scrollRowToVisible:[[cellElement getIp] count]-1];
+       [tableViewCellIP reloadData];
+       [tableViewCellIP scrollRowToVisible:[[cellElement getIp] count]-1];
 }
 
 // -------------------------------------------------------------------------------
 // -------------------------------------------------------------------------------
 - (IBAction) cancelIP:(id) sender
 {
-       [workIPArray removeObjectAtIndex:[((NSTableView*)tableViewCellIP) selectedRow]];
-       [((NSTableView*)tableViewCellIP) deselectAll:nil];
+       [workIPArray removeObjectAtIndex:[tableViewCellIP selectedRow]];
+       [tableViewCellIP deselectAll:nil];
        [self manageTableSelection:-1];
-       [((NSTableView*)tableViewCellIP) reloadData];
+       [tableViewCellIP reloadData];
 
 }
 
 // -------------------------------------------------------------------------------
 - (void) loadValueFromCellIPClass
 {
-       [((NSTextField*)textFieldCellName) setStringValue:[cellElement getCellName]]; 
-       [((NSTextField*)textFieldComment) setStringValue:[cellElement getCellComment]]; 
-       [((NSTableView*)tableViewCellIP) reloadData];
+       [textFieldCellName setStringValue:[cellElement getCellName]];
+       [textFieldComment setStringValue:[cellElement getCellComment]];
+       [tableViewCellIP reloadData];
 }
 
 // -------------------------------------------------------------------------------
 - (void) manageTableSelection:(int)row
 {
        //[((NSControl*) modifyButton) setEnabled:row>=0];
-       [((NSControl*) deleteButton) setEnabled:row>=0];
+       [deleteButton setEnabled:row>=0];
 }
 
 - (id) getPanel
    forTableColumn:(NSTableColumn *)aCol row:(int)aRow
 {
        CellIp *ipElement =  (CellIp*)[workIPArray objectAtIndex:aRow];
-       switch([((NSNumber*)[aCol identifier]) intValue])
+       switch([[aCol identifier] intValue])
        {
                case 1:
                        [ipElement setCellIp:[aData description]];
index c1fb05191f88bf9b281738d49dcae2eba2af9a92..44f90bffba7f786919d015b2c08da615124e80a1 100644 (file)
@@ -40,7 +40,7 @@
  @abstract   Enable or disable the system to get kerberos ticket at login time
  @discussion <#(comprehensive description)#>
  */
-+(void) krb5TiketAtLoginTime:(BOOL)enable;
++(void) krb5TiketAtLoginTime:(BOOL)enable helper:(NSString *)helper;
 
 /*!
  @method     checkKrb5AtLoginTimeLaunchdEnable
@@ -80,9 +80,7 @@
  @abstract   exec the launchctl command on a particular plist job
  @discussion <#(comprehensive description)#>
  */
-+(void) launchctlStringCommand:(NSString*)operation
-                                               option:(NSArray*)option
-                                        plistName:(NSString*)plistName;
++(void) launchctlStringCommandAuth:(NSString*)operation option:(NSArray*)option plistName:(NSString*)plistName helper:(NSString *)helper withAuthRef:(AuthorizationRef)authRef;
 /*!
  @method     launchdJobState
  @abstract   check is a job has been submitted to launchd
index 849787057f80034b3dc61f7b4cbbda02d36b7ab3..977f96236aec78e2a0058410e3c68e128dddef29 100644 (file)
@@ -17,7 +17,8 @@
 // -------------------------------------------------------------------------------
 //  krb5TiketAtLoginTime:
 // -------------------------------------------------------------------------------
-+(void) krb5TiketAtLoginTime:(BOOL)enable{
++(void) krb5TiketAtLoginTime:(BOOL)enable helper:(NSString *)helper
+{
        NSData                                  *plistData = nil;
        NSString                                *error = nil;
        NSString                                *toRemove = nil;
        
        //now we can move the file
        futil = [[FileUtil alloc] init];
-       if([futil startAutorization] == noErr) {
-               if(![[NSFileManager defaultManager] fileExistsAtPath:AUTH_FILE_BK]) {
-                       //bk file doesn't exist so make it
-                       [futil autorizedCopy:AUTH_FILE toPath:AUTH_FILE_BK];
-               }
-               // chmod on tmp file
-               [futil autorizedChown:TMP_FILE owner:@"root" group:@"wheel"];
-               //move the file 
-               [futil autorizedMoveFile:TMP_FILE toPath:AUTH_FILE_DIR];
+       if(![[NSFileManager defaultManager] fileExistsAtPath:AUTH_FILE_BK]) {
+           //bk file doesn't exist so make it
+           [futil autorizedCopy:AUTH_FILE toPath:AUTH_FILE_BK];
        }
+       // chmod on tmp file
+       [futil autorizedChown:TMP_FILE owner:@"root" group:@"wheel"];
+       //move the file
+       [futil autorizedMoveFile:TMP_FILE toPath:AUTH_FILE_DIR];
+
        [futil release];
 }
 
 //  installAfsStartupLaunchdFile:
 // -------------------------------------------------------------------------------
 +(void) manageAfsStartupLaunchdFile:(BOOL)enable 
-                                  afsStartupScript:(NSString*)afsStartupScript 
-                                               afsBasePath:(NSString*)afsBasePath 
-                                                  afsdPath:(NSString*)afsdPath {
+                  afsStartupScript:(NSString*)afsStartupScript
+                       afsBasePath:(NSString*)afsBasePath
+                          afsdPath:(NSString*)afsdPath {
        NSData                          *plistData = nil;
        NSMutableDictionary *launchdDic = nil;
        NSString                        *error = nil;
 //  launchctlCommand:
 // -------------------------------------------------------------------------------
 +(void) launchctlCommand:(BOOL)enable
-                         userDomain:(BOOL)userDomain
-                                          option:(NSArray*)option 
-                                       plistName:(NSString*)plistName {
+             userDomain:(BOOL)userDomain
+                 option:(NSArray*)option
+              plistName:(NSString*)plistName
+{
        NSMutableArray *argument = [NSMutableArray array];
        NSMutableString *commandPath = [NSMutableString stringWithCapacity:0];
        NSUInteger searchDomain = userDomain?NSUserDomainMask:NSSystemDomainMask;
        [commandPath appendFormat:@"/LaunchAgents/%@", plistName];
        
        [argument addObject:commandPath];
+
        //exec the command
-       [TaskUtil executeTaskSearchingPath:@"launchctl"  
-                                                                 args:argument];
+       [TaskUtil executeTask:@"/bin/launchctl"
+                 arguments:argument];
 }
 
 // -------------------------------------------------------------------------------
 //  launchctlCommand:
 // -------------------------------------------------------------------------------
-+(void) launchctlStringCommand:(NSString*)operation
-                                 option:(NSArray*)option
-                          plistName:(NSString*)plistName {
++(void) launchctlStringCommandAuth:(NSString *)operation
+                           option:(NSArray *)option
+                        plistName:(NSString *)plistName
+                           helper:(NSString *)helper
+                      withAuthRef:(AuthorizationRef)authRef
+{
        NSMutableArray *argument = [NSMutableArray array];
 
        //set the load unload
        [argument addObject: plistName];
 
        //exec the command
-       [TaskUtil executeTaskSearchingPath:@"launchctl"
-                                                                 args:argument];
+       [TaskUtil executeTaskWithAuth:@"/bin/launchctl"
+                 arguments:argument helper:helper withAuthRef:authRef];
 }
 
 // -------------------------------------------------------------------------------
index b7fc7ecc930cbfbe8b2ba9e39321e5f911de0fef..459b68eaeb8389986b6b8dfb0c5dfc531126068b 100644 (file)
@@ -16,4 +16,5 @@
 +(NSString*) executeTaskSearchingPath:(NSString*)unixCommand args:(NSArray*)args;
 +(NSString*) executeTask:(NSString*) taskName arguments:(NSArray *)args;
 +(int) executeTaskWithAuth:(NSString*) taskName arguments:(NSArray *)args authExtForm:(NSData*)auth;
++(int) executeTaskWithAuth:(NSString*) taskName arguments:(NSArray *)args helper:(NSString *)helper withAuthRef:(AuthorizationRef)authRef;
 @end
index c27ee8f5ed4eaf09e1f10155fc6d15f987e317e0..3c945242f4c5b98fe31a0428e344b07f070dfe3b 100644 (file)
@@ -7,6 +7,7 @@
 //
 
 #import "TaskUtil.h"
+#import "AuthUtil.h"
 
 
 @implementation TaskUtil
 // -------------------------------------------------------------------------------
 //  executeTask:
 // -------------------------------------------------------------------------------
++(int) executeTaskWithAuth:(NSString*) taskName arguments:(NSArray *)args helper:(NSString *)helper withAuthRef:(AuthorizationRef)authRef {
+    const char *rootHelperApp = [helper fileSystemRepresentation];
+    OSStatus status;
+    AuthorizationFlags flags = kAuthorizationFlagDefaults;
+    int count = [args count];
+    char **myArguments = calloc(count + 2, sizeof(char *));
+    int i=0;
+
+    myArguments[0] = strdup([taskName UTF8String]);
+    for(i=0;i < count;i++) {
+       const char *string = [[args objectAtIndex:i] UTF8String];
+       if(!string)
+           break;
+       myArguments[1+i] = strdup(string);
+    }
+    myArguments[1+i] = NULL;
+
+    // should use SMJobBless but we need to sign things...
+    status = AuthorizationExecuteWithPrivileges(authRef, rootHelperApp, flags, myArguments, NULL);
+
+    i = 0;
+    while (myArguments[i] != NULL) {
+        free(myArguments[i]);
+        i++;
+    }
+
+    free(myArguments);
+    return status;
+}
+
 +(int) executeTaskWithAuth:(NSString*) taskName arguments:(NSArray *)args authExtForm:(NSData*)auth {
        NSString *result = nil;
        int status = 0;
index ad59d94994e308f28d23e0611c73fa86ec325f96..5d2f702102091828440f086c9c0da8278fa0d5d6 100644 (file)
-//
-//  afshlp.m
-//  AFSCommander
-//
-//  Created by Claudio on 28/06/07.
-//
-
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <Security/Authorization.h>
-#include <Security/AuthorizationTags.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/errno.h>
 #include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <asl.h>
-#include <sys/event.h>
-#include <mach-o/dyld.h>
-#import "TaskUtil.h"
-#import "AuthUtil.h"
-#import "PListManager.h"
-
-#define AFS_DAEMON_STARTUPSCRIPT       "/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.rc"
-#define AFS_DAEMON_PATH                                "/Library/LaunchDaemons/org.openafs.filesystems.afs.plist"
-
- void stopAfs(int argc, char *argv[]);
- void getPath(char **selfPathPtr);
- void selfRepair(char *selfPath);
- void runWithSelfRepair(char *selfPath,int argc, char *argv[]);
-
-int main(int argc, char *argv[])
-{
-       if (argc < 2)
-               return 1; // nothing to do
-       NSString *cmdString = [NSString stringWithCString:(const char *)argv[1] encoding:NSUTF8StringEncoding];
-
-       if(argc == 2 && [cmdString rangeOfString:@"stop_afs"].location!=NSNotFound ){
-               if (setuid(0) == -1)
-                       return 1;
-               const char *stopArgs[] = {"stop", 0L};
-               [[AuthUtil shared] execUnixCommand:AFS_DAEMON_STARTUPSCRIPT
-                                                                         args:stopArgs
-                                                                       output:nil];
-       } else  if(argc == 2 && [cmdString rangeOfString:@"start_afs"].location!=NSNotFound){
-               if (setuid(0) == -1)
-                       return 1;
-               const char *startArgs[] = {"start", 0L};
-               [[AuthUtil shared] execUnixCommand:AFS_DAEMON_STARTUPSCRIPT
-                                                                         args:startArgs
-                                                                       output:nil];
-       } else if(argc == 4 && [cmdString rangeOfString:@"enable_krb5_startup"].location!=NSNotFound) {
-               int olduid = getuid();
-               setuid(0);
-               int arg2 = atoi(argv[2]);
-               [PListManager krb5TiketAtLoginTime:[[NSNumber numberWithInt:arg2] boolValue]];
-       } else if(argc == 3 && [cmdString rangeOfString:@"start_afs_at_startup"].location!=NSNotFound){
-               if (setuid(0) == -1)
-                       return 1;
-               BOOL enable = strcmp("enable", argv[2])==0;
-               NSLog(@"Manage start_afs_at_startup with option %s from helper", argv[2]);
-               [PListManager launchctlStringCommand:enable?@"load":@"unload"
-                                                                         option:[NSArray arrayWithObjects:@"-w", nil]
-                                                                  plistName:@AFS_DAEMON_PATH];
-#if 0
-       } else if(argc == 2 && [cmdString rangeOfString:@"check_afs_daemon"].location!=NSNotFound) {
-               NSString *fsResult = [TaskUtil executeTaskSearchingPath:@"launchctl" args:[NSArray arrayWithObjects: @"list", nil]];
-               BOOL checkAfsDaemon = (fsResult?([fsResult rangeOfString:@"org.openafs.filesystems.afs"].location != NSNotFound):NO);
-               printf("afshlp:afs daemon registration result:%d",checkAfsDaemon);
-#endif
-       }
-       return 0;
-}
-
-#if 0
-void stopAfs(int argc, char *argv[])
-{
-       const char *umountArgs[] = {"-f", "/afs", 0L};
-       [[AuthUtil shared] execUnixCommand:"/sbin/umount" 
-                                                                 args:umountArgs
-                                                               output:nil];
-       
-       const char *afsdArgs[] = {"-shutdown", 0L};
-       [[AuthUtil shared] execUnixCommand:argv[3]
-                                                                 args:afsdArgs
-                                                               output:nil];
-       
-       const char *kernelExtArgs[] = {argv[2], 0L};
-       [[AuthUtil shared] execUnixCommand:"/sbin/kextunload"
-                                                                 args:kernelExtArgs
-                                                               output:nil];
-       
-       [[AuthUtil shared] deautorize];
-}
-
-// Code to get the path to the executable using _NSGetExecutablePath.
-void getPath(char **selfPathPtr)
-{
-    uint32_t selfPathSize = MAXPATHLEN;
-    if(!(*selfPathPtr = malloc(selfPathSize)))
-    {
-        exit(-1);
-    }
-    if(_NSGetExecutablePath(*selfPathPtr, &selfPathSize) == -1)
-    {
-        // Try reallocating selfPath with the size returned by the function.
-        if(!(*selfPathPtr = realloc(*selfPathPtr, selfPathSize + 1)))
-        {
-            NSLog(@"Could not allocate memory to hold executable path.");
-            exit(-1);
-        }
-        if(_NSGetExecutablePath(*selfPathPtr, &selfPathSize) != 0)
-        {
-            NSLog(@"Could not get executable path.");
-            exit(-1);
-        }
-    }
-}
-
-int main(int argc, char *argv[])
-{
-       NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-    char *selfPath;
-       
-       NSLog(@"num of arguments %d", argc);
-       int status = [[AuthUtil shared] autorize];
-       if(status != noErr) exit(-1);
-       
-    // Get the path to the tool's executable
-    getPath(&selfPath);
-
-    //selfRepair(selfPath);
-    // All done with the executable path
-    if(selfPath) free(selfPath);
-       
-       // Now do the real work of running the command.
-    runCommand(argc, argv);
-    [[AuthUtil shared] deautorize];
-    [pool release];
-       
-       return 0;
-}
-
-// Self-repair code. Found somehwere in internet
-void selfRepair(char *selfPath)
+int
+main(int argc, char *argv[], char *envp[])
 {
-    struct stat st;
-    int fdTool;
-       printf("selfRepair"); 
-       
-//    [[AuthUtil shared] autorize];
-    
-    // Open tool exclusively, noone can touch it when we work on it, this idea i kepped somewhere in internet
-    fdTool = open(selfPath, O_NONBLOCK | O_RDONLY | O_EXLOCK, 0);
-    
-    if(fdTool == -1)
-    {
-        NSLog(@"Open Filed: %d.", errno);
-        exit(-1);
-    }
-    
-    if(fstat(fdTool, &st))
-    {
-        NSLog(@"fstat failed.");
-        exit(-1);
-    }
-    
-    // Disable group and world writability and make setuid root.
-    if ((st.st_uid != 0) || (st.st_mode & S_IWGRP) || (st.st_mode & S_IWOTH) ||
-       !(st.st_mode & S_ISUID))
-    {
-        fchown(fdTool, 0, st.st_gid);
-       fchmod(fdTool, (st.st_mode & (~(S_IWGRP | S_IWOTH))) | S_ISUID);
-    } else  NSLog(@"st_uid = 0");
-    
-    close(fdTool);
-    
-    NSLog(@"Self-repair done.");
+    int euid;
+    euid = geteuid();
+    if (setuid(euid) != 0)
+       return -1;
+    return execve(argv[1], &argv[1], envp);
 }
 
-
-// Code to execute the tool in self-repair mode.
-void runWithSelfRepair(char *selfPath, int argc, char *argv[])
-{
-    int status;
-    int pid;
-       
-      
-       // Make the qargs array for passing to child the same args of father
-    const char *arguments[] = {argv[1], argv[2], argv[3], "--self-repair", 0L};
-       
-       // Get the privileged AuthorizationRef
-    [[AuthUtil shared] autorize];
-       [[AuthUtil shared] execUnixCommand:selfPath 
-                                                                 args:arguments 
-                                                               output:nil];
-
-    pid = wait(&status);
-    if(pid == -1 || !WIFEXITED(status))
-    {
-        NSLog(@"Error returned from wait().");
-        exit(-1);
-    }
-    
-    // Exit with the same exit code as the self-repair child
-    exit(WEXITSTATUS(status));
-}
-#endif